欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是

墨初 知识笔记 114阅读

实例变量和静态变量有什么区别?

答:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。 结合上述给出的例子。 每创建一个实例对象,就会分配一个random,实例对象之间的random是互不影响的,所以就可以解释为什么输出的两个random值是相同的了。 静态变量不属于某个实例对象,而是属于整个类。 只要程序加载了类的字节码,不用创建任何实例对象,静态变量就回被分配空间,静态变量就可以被使用了。

静态方法可以直接访问非静态数据(实例变量)吗?

答:它这边的意思是不能直接访问非静态数据(实例变量),因为非静态数据是属于对象属性的,其只有在对象存在的时候才能引用。 C:静态方法只能调用其他静态方法,不能从中调用非静态方法。 (√) 这里也是不能直接调用非静态方法,因为非静态方法是属于某个对象的,不先实例化对象,通过对象引用,那么将无法判断具体调用哪个对象(实例)的非静态方法。 D:静态方法不能通过类名直接访问,也不需要任何对象。 (×) 静态方法可以直接用类名访问。 类名.静态方法名 () 这种方式是可以的,所以静态方法可以直接通过类名进行访问。

静态方法可以在没有创建对象实例的情况下调用吗?

答:静态方法可以在没有创建对象实例的情况下调用,其是可以通过类名引用。 B:静态方法 只能访问静态数据 。 无法访问非静态数据 (实例变量) 。 (√) 它这边的意思是不能直接访问非静态数据(实例变量),因为非静态数据是属于对象属性的,其只有在对象存在的时候才能引用。 C:静态方法只能调用其他静态方法,不能从中调用非静态方法。 (√) 这里也是不能直接调用非静态方法,因为非静态方法是属于某个对象的,不先实例化对象,通过对象引用,那么将无法判断具体调用哪个对象(实例)的非静态方法。 D:静态方法不能通过类名直接访问,也不需要任何对象。 (×) 静态方法可以直接用类名访问。 类名.静态方法名 () 这种方式是可以的,所以静态方法可以直接通过类名进行访问。

声明:无特别说明,转载请标明本文来源!