问题:java中用对象名调用与用类名调用有什么区别
没区别
用对象名调用与用类名直接调用要取决你的方法是否是静态还是非静态
非静态只能用对象名调用(用new A a =new A(); a.method();)
静态就可以直接用类名调用(不用new? A a =A.method();)
是这个意思吗?????
static方法
使用static定义的属性可以直接被类名称访问,用static定义的方法也可以直接被类名称进行访问。
同样不受到实例化对象的控制。
观察:如下代码
现在类中已经存在有static方法和非static方法了,那么这个时候对于两者的互相调用存在限制
|-所有的static方法不允许调用非static定义的属性或方法
|-所有的非static方法允许访问static属性或方法
例如:
所有的static方法可以在没有实例化对象的时候访问,而所有的非static操作必须在有实例化对象产生之后才可以进行操作。
使用static的属性是共享目的(属性都需要封装),但是使用static的方法的目的只有一个:某些方法不希望受到类的限制;
即:可以在没有实例化对象的时候进行执行。
---------------------
作者:Y__C__X
来源:CSDN
原文:https://blog.csdn.net/weixin_41197830/article/details/79525881
版权声明:本文为博主原创文章,转载请附上博文链接!