为了账号安全,请及时绑定邮箱和手机立即绑定

最新回答 / Shallway12138
通过hello2的创建与hello1创建的输出对比,从而说明静态初始化代码块只执行一次啊,而且是在类加载的时候执行,与类对象的创建过程无关。

已采纳回答 / 山野小花曳风雨
时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。题目中要求通过静态初始化块初始化age,所以age得定义为静态变量。静态变量属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。所以当某个变量假若被频繁使用就可以考虑使用静态变量。但是静态变量的生命周期知道该类被销毁的时候才会被回收资源,所以不要定义太多,会影响内存。文中原话是:然而在某些时候,我们更希望该类所有的对象共享同一个成员。你理解有误。

最新回答 / pankx
上面为方法定义,并没有输出,方法要被调用才会执行方法中定义的输出语句,main方法为程序的入口函数。

最赞回答 / 迷茫的小学生gpf
不会,一个项目保存在一个文件夹,不同项目相同包名没影响

最赞回答 / 慕先生7064480
前面是把Dog对象转换成Animal对象,自动类型转换。Dog dog2 = animal是把Animal对象转换成Dog对象,强制类型转换。

已采纳回答 / 慕先生7064480
不想用继承下来的equals方法,就自己重写,这样创建对象的时候就可以用自己写的equals方法了

最新回答 / Verckolf
老师的目的是要展示静态方法,可以直接获取静态变量而无需实例化,来达到教学目的。你这属于单纯的计算两个静态变量的值,目的不一样喽~~
final关键字:使用final关键字做表示有“最终的”含义
final可以修饰类、方法、属性和变量
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被覆盖(重写)
final修饰属性:则该类的属性不会进行隐式的初始化(初始化属性时赋值)或在构造方法中赋值(但只能选其一)
final修饰变量,则该变量的值只能赋一次值,即变为常量;如果使用final修饰变量,且没有给该变量赋值,系统不会自动给该变量赋默认值0,会报错

最新回答 / nicholasMall
不知道你到底在描述什么场景。

最新回答 / 小仆仆
看情况而定!
如果把一个静态方法比作一个将军,那么静态对象就是将军的私兵,可以不通过虎符(类的对象)来调动,而非静态对象就是其他的军队,将军可以调用其他军队,但是必须通过虎符(类的对象)来调动。
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消