中易网

请问:java中的静态方法为什么不能直接调用非静态的方法或属性?说的深入一点可以吗?最好联系内存分析,

答案:2  悬赏:40  
解决时间 2021-02-14 20:09
请问:java中的静态方法为什么不能直接调用非静态的方法或属性?说的深入一点可以吗?最好联系内存分析,
最佳答案
不从内存方面而从令一方面给你解释。
我们从类和对象来分析就很好理解了。
类只是一次而方法和属性的集合的抽象,记住它时抽象的,它不能做任何事,要完成它定义的功能,必须有它的实例来完成。就像人类只是一个集合的抽象并不能做任何事,但是某个具体的人就可以做他能做的事。
同理静态的方法相当于自己本身就是一个“对象”,它无需实例化就能调用它的方法。而非静态方法则不能直接调用,需先实例化一个他的实例,再由它的实例来调用它里面的方法。
全部回答
静态方法在编译器在编译时会为其和其变量分配内存空间,如果引用了一个非静态的变量,那么在非静态变量作用结束后,这个变量就会消失,那么为它分配的那块内存就成了无用内存,但却无法回收,这样就造成了内存泄露,这样显然不合理。所以java中规定,静态方法不能直接调用非静态的方法或属性。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
杭州大的厨具市场在哪里?
当土耳其的小朋友正在午休时,北京的小朋友正
金城江体育场在什么地方啊,我要过去处理事情
微信小视频不能用怎么回事,是设置有问题吗?
%u3002%u5BF9%u4E0D%u8D77%u3002%u6211%u7231
狼王梦的每一段中的好词,好句,好段子
神偷奶爸3百度云盘
开汽车过十字路口,如果没赶到绿灯时通过,刹
05年的捷达跑了十七万公里没事吧
电动机启动时对机端电压水平的要求
麻纺厂小区地址有知道的么?有点事想过去
刚装了sql server 2005,但是数据库引擎下面
福特新蒙迪欧70-90码汽车抖动什么原因
美心室内门地址在哪,我要去那里办事
梦见老婆生猴子,但自己和家人都很爱惜,很疼
推荐资讯
我现在17岁,学了半年修车,不想学啦,应该学
红豆内衣地址在哪,我要去那里办事
刚刚听到一首英文歌,大概是这样的:呜喔呜喔
我和他最初是同事发展为好朋友至今发展为情人
钠离子检测中二异丙胺可以用什么代替么
我15岁,去学爵士舞迟不迟?
北宋铜钱谱专业人来,几枚北宋钱不懂???
中国邮政集团公司湖北省老河口市分公司地址在
哈职单招怎么确定报专业成功
劳动节的来历要简短些用英文版
一种商品打八折出售后便宜了二十元如果打七五
3x²-xy-4y²=0
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?