静态方法在什么情况下使用 非静态方法可以调用静态方法与变量吗?
浏览量:1628
时间:2021-03-12 04:18:55
作者:admin
非静态方法可以调用静态方法与变量吗?
原因很简单,因为静态方法可以直接使用而无需实例化。但非静态方法只能在实例的帮助下使用。如果在静态方法中使用非静态变量,则不能直接使用“无实例化”变量。矛盾。
静态方法和非静态方法的区别?
在创建对象之前可以使用静态方法。必须通过新对象调用非静态方法。
例如:
public class per{
public static string GetType(){
return “human”]}
]public string getname(){
return “Zhang San”]}
在没有新对象之前,可以这样使用上述类中的GetType方法:
string type=每种类型()//类型=“人类”
但是getname方法不能这样使用,编译也不会通过
getname必须是这样:
per P=new per()
string name=P.getname()//name=“Zhang San”
当然,GetType方法也可以通过object调用:
string Type=p.GetType()//Type=“human”
总之:
静态方法在创建实例之前存在,而非静态方法在创建对象之后存在。
静态方法可以通过对象调用非静态方法吗?
不能直接调用,但可以间接调用。可以将对象的引用传递到静态方法中,然后调用对象的非静态方法。静态方法使用传入的对象引用调用非静态方法,因此静态方法调用非静态方法。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。