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站动力节点

 

posted @ 2020-10-11 16:12  18751612782  阅读(126)  评论(0)    收藏  举报