22问答网
所有问题
当前搜索:
静态方法为什么不能调用非静态方法
用static修饰的
方法能不能调用非static方法
,能不能访问非static变量...
答:
不能,
因为静态方法在类装载的时候就分配了内存块,而非静态的方法和变量在new这个类的对象的时候才分配内存块
, 他们内存分配的时间不一样 静态区域访问非静态区域是没有任何意义的 本回答由提问者推荐 举报| 答案纠错 | 评论 33 1 497455993 采纳率:27% 来自团队:Java老馆 擅长: JAVA相关 数据库DB 手机使用...
静态方法中
不能
有
非静态方法
?
答:
是的,同时,静态方法也不能调用非静态方法的。因为:
1、静态方法的内存分配时间与实例方法不同
,当程序开始运行时,静态方法已经在内存中被分配了空间,有了入口地址,所以可以通过"类名.方法名"直接调用。2、实例方法只有在创建了该类的对象以后才分配内存。也就是说程序开始运行后静态方法已经有了入口地...
静态成员函数
为什么不能
访问本类中的
非静态
成员?
答:
如Box∷volume( );实际上也允许通过对象名
调用静态
成员函数,如a.volume( );但这并不意味着此函数是属于对象a的,而只是用a的类型而已。静态成员函数的作用是为了能处理静态数据成员。可以说,静态成员函数与
非静态
成员函数的根本区别是:非静态成员函数有this指针,静态成员函数并不属于某一对象,它与...
请问
为什么静态方法
中
不能调用非静态方法
答:
也就是说程序开始运行后静态方法已经有了入口地址,而此时实例方法可能并未被分配内存
,所以无法通过静态方法调用实例方法 同理也不能用"类名.方法名"的方式调用实例方法
在一个
静态方法
内
调用
一个
非静态
成员
为什么
是非法的?
答:
静态方法
内没有this指针。所以静态方法内
不能调用非静态
成员。
为什么静态方法不能调用非静态
的变量和方法
答:
静态方法
是不需要初始化就可以调用的,例如Student类有一个静态方法study,可以Student.study,而不需要实例化一个Student对象。但是非静态的全局变量是需要实例化一个对象后,该变量和实例化的那个对象绑定在一起才能够使用,所以就产生了矛盾,如果静态方法去
调用非静态
的变量,那么该变量可能还没有被实例...
为什么静态方法不能
访问
非静态方法
?
答:
非静态方法
可以访问静态也可以访问非静态 2.静态方法中
不可以
定义this,super关键字 因为静态优先于对象存在,所以静态方法中不可以出现this,super关键字 3.主函数是静态的。静态的利弊利:对 对象的共享数据进行单独空间的存储,节省空间,没有必要没一个对象中都存储一份 可以直接被类名所
调用
弊:生命...
Java
静态方法为什么不能
访问
非静态方法
答:
这个涉及到Java的类加载机制, 当类加载初始化的时候会初始化静态方法, 此时这个类还没有实例化, 所以在当你在静态方法中访问
非静态方法
的时候,非静态方法还没有构造, 怎么访问.
静态方法
的内部可以
不可以调用非静态
的方法
答:
当然不可以,静态方法会在加载类的时候首先被加载,然后是构造函数和
非静态方法
,它们的生命周期不同,所以
静态方法无法调用非静态
Java
静态方法为什么不能
访问
非静态方法
答:
静态的东西属于类。
非静态
的东西属于实例。类可以先于实例存在。静态的东西存在的时候,可能实例(非静态)的东西不存在,所以访问会出错。
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
静态方法中不能调用非静态方法
静态方法和非静态方法相互调用
静态方法调用非静态方法
main方法为什么可以调用非静态
静态方法调用非静态成员
静态方法中调用非静态变量
非静态方法和静态方法
可以用类名调用非静态方法吗
java非静态方法访问非静态