77问答网
所有问题
当前搜索:
静态方法中不能调用非静态方法
静态方法中不能
有
非静态方法
?
答:
是的,同时,静态方法也不能调用非静态方法的。因为:1、静态方法的内存分配时间与实例方法不同
,当程序开始运行时,静态方法已经在内存中被分配了空间,有了入口地址,所以可以通过"类名.方法名"直接调用。2、实例方法只有在创建了该类的对象以后才分配内存。也就是说程序开始运行后静态方法已经有了入口地...
静态方法
的内部可以
不可以调用非静态
的方法
答:
当然不可以
,静态方法会在加载类的时候首先被加载,然后是构造函数和非静态方法,它们的生命周期不同,所以静态方法无法调用非静态
静态成员函数为什么
不能
访问本类中的
非静态
成员?
答:
如果要在类外调用公用的静态成员函数,要用类名和域运算符“∷”。如Box∷volume( );实际上也允许通过对象名
调用静态
成员函数,如a.volume( );但这并不意味着此函数是属于对象a的,而只是用a的类型而已。静态成员函数的作用是为了能处理静态数据成员。可以说,静态成员函数与
非静态
成员函数的根本区别...
JAVA 里既然
静态方法无法调用非静态方法
,那主方法main
里面
,为什么可...
答:
静态方法不可以调非静态全局变量
,从内存的角度看,就是当类被加载的时候静态方法和静态属性(全局静态变量)被加载到内存中,就是在内存中开辟一段内存地址用来保存静态方法和静态属性,这时候没有被实例化的类在内存中是不存在的,所以静态方法是不能访问非静态的全局变量。在类被实例化的时候,就是...
...到另一个
方法中
,并且调用类中的方法,是
静态调用
吗?
答:
在
静态方法里不能调用非静态方法
。我简单解释一下原因:① 这是因为static方法是没有this的方法,在普通的非静态方法里,如:public void eat(this){}其实你写的eat()和run()都默认带有一个参数this(指调用方法的那个对象),只不过我们在写的时候没有添加,是Java虚拟机为我们添加的,这也是为什么...
“
无法
从静态上下文中引用
非静态方法
”这个问题怎么解决?
答:
静态方法中不能
直接
调用非静态方法
。因为非静态方法不是独立存在的,它是依附于对象存在——即只有申明了对象,才能通过对象调用。而静态方法则可以直接通过类名调用,而不需要申明对象。因此直接引用非静态方法就会出错。比如常见的main方法都是静态的,必须由static修饰,因此在main方法里调用类的其他非静态...
为什么
静态方法不能
访问
非静态方法
?
答:
非静态方法
可以访问静态也可以访问非静态 2.
静态方法中不可以
定义this,super关键字 因为静态优先于对象存在,所以静态方法中不可以出现this,super关键字 3.主函数是静态的。静态的利弊利:对 对象的共享数据进行单独空间的存储,节省空间,没有必要没一个对象中都存储一份 可以直接被类名所
调用
弊:生命...
为什么
静态方法不能调用非静态
的变量和方法
答:
静态方法
是不需要初始化就可以调用的,例如Student类有一个静态方法study,可以Student.study,而不需要实例化一个Student对象。但是非静态的全局变量是需要实例化一个对象后,该变量和实例化的那个对象绑定在一起才能够使用,所以就产生了矛盾,如果静态方法去
调用非静态
的变量,那么该变量可能还没有被实例...
JAVA中 在
static方法
内部能否
调用非静态方法
答:
static方法
内部
不能
直接
调用非静态方法
,可以在调用之前实例化非静态方法所在的类,再用类点方法来调用。例:非静态方法是className类里面的method();className cn=new className();cn.method();这样就可以了。
类的
静态方法
(函数)中为什么
不能调用非静态
成员(属性)?
答:
如 Box∷volume( ); 实际上也允许通过对象名
调用静态
成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已。 静态成员函数的作用是为了能处理静态数据成员。 可以说,静态成员函数与
非静态
成员函数的根本区别是:非静态成员函数有this指针,静态成员函数并不属于某一...
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
创建子类对象是否会创建父类
java封装错误的是
object类可以用int赋值吗
Java的方法签名包括
下列方法重载正确的是
object类不含有以下哪种方法
基类的引用可以指向派生类的对象
下列关于类的继承的描述正确的是
静态方法为什么不能调用非静态方法