发现getHeart()方法对静态内部类依旧适用
问题描述:
静态内部类可以不借助外部类对象,直接创建。但是发现即使是创建了外部类对象,也能使用get方法获取静态内部类,请问老师是为什么呢?但是使用 外部类对象.内部类() 就是错误的,请问老师这又是为什么呢,静态属性不是所有对象共享的吗?
相关代码:
// 不借助外部类对象创建静态内部类 Person.Heart heart = new Person.Heart(); // 使用外部类对象的get方法获取静态内部类 Person alice = new Person(); heart = alice.getHeart(); // alice.Heart(); 这样就不行
9
收起
正在回答
1回答
同学你好,1、getHeart()可以获取到内部类是因在getHeart()方法中返回内部类,所以可以通过想调用方法的方式去获取静态内部类。如果同学代码不是这样的结构,建议同学反馈一下代码便于老师定位问题。
2、alice.Heart()调用的是方法,而内部类是无法像方法一样调用的,需要进行实例化(new Person.Heart())。所以alice.Heart(); 这样就不行。
祝学习愉快!
Java工程师 2024版
- 参与学习 2024 人
- 提交作业 1318 份
- 解答问题 1228 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星