Java学习day12
【println与toString】对应视频P442-P443,P449.....

【下面的Static语句是静态代码块,在class加载中执行】

【toString():将调用该方法的对象转换为“等同”的字符串】


【toString的方法覆盖】

用下面的覆盖

其实这和之前的普通子类方法覆盖父类方法没什么区别
之所以要覆盖toString,是因为父类自动继承Object.class(不显示)
所以在子类中可以直接对toString进行覆盖,而不需要提前在父类中“定义”该方法
而且,若直接访问(输出)指向对象的引用,则会默认调用toString输出其结果
==============================================================================================
【super关键字】视频465-475






【注意上面的输出顺序】
【注意下面new C(),后的输出顺序】



【输出结果为13654】(没有this()或super()会自动有super())
【类的无参构造方法一定要有,否则影响子类对象的创建】

【子类创建对象需访问父类私有属性时,可以使用super(实参列表)】




【内存分析图】


【super关键字的意义、表示、代表】

【判断下面的输出name是否一样】

上面最后一行的name前默认有this.
【super和this都不能出现在静态方法中,super表示当前对象的父类型特征,指向this指向对象的一块空间】

【内存分析】

【super什么时候不能省略】

【java允许在子类中出现和父类一样的同名变量或属性】

【下面这错误,是因为Customer默认继承的Object类中没有name这一属性】

【super不能单独使用,不是引用,不保存内存地址,也不指向任何对象】

【super.用于在子类中访问父类的数据(属性或方法)】


【PS:私有的属性和方法,只能在本类中访问】
【猜数字游戏】视频 476



--------------整理自B站动力节点
浙公网安备 33010602011771号