20155302 2016-2017-2 《Java程序设计》第4周总结

20155302 2016-2017-2 《Java程序设计》第4周学习总结

教材学习内容总结

  • 有关类的继承的理解:类实现继承的格式:class 子类名 extends 父类名
  • 类的继承有三方面的内容,一是父类变量与方法的继承,二是父类变量与方法的覆写或称之为重载,三是super与this的使用区别。
  • 子类在继承父类中的方法与属性时,首先会执行父类中的构造方法,再执行子类中的构造方法。一般子类中隐含了super()语句(super主要的功能是完成子类调用父类中的内容)
  • 使用extends来扩充行为,先继承再扩充。
  • 覆写与重载:子类中的变量或方法,可以与父类中的一样,这时子类的变量与方法就“覆写”了父类的变量与方法,或称之为变量与方法的“重载”。
  • super与this最大的区别是,super调用的是父类中的变量或方法,当子类继承了父类中的变量或方法时,this和super的作用一样。当子类的变量或方法覆写了父类中的变量或方法时,由于覆写时子类和父类的变量名称或方法名称是一样的,这时super就会去调用父类中的变量或方法,而this只能调用子类中的变量或方法。当然明确为private类型的变量与方法还是不能调用的。
  • 多态的涵义:使用单一接口操作多种类型的对象。JAVA引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态。
  • 在继承父类之后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义。在重新定义父类中某个方法时,子类必须撰写与父类方法中相同的签署。
  • 使用abstract标示该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。
  • 子类如果继承抽象类,对于抽象方法有两种做法,一种是继续标示该方法为abstract(该子类因此也是一个抽象类,必须在class前标示abstract);另一种做法就是操作抽象方法。如果两种做法都没有实施,就会引发编译错误。
  • 权限关键字:依权限小至大来区分,就是private、无关键字、protected与public,设计时要使用哪个权限,是依照经验或团队讨论而定,如果一开始不知道使用哪个权限,就先使用private,以后视需求再放开权限。
  • 如果想取得父类中的方法定义,可以在方法调用前,加上super关键字,但可以使用super关键字调用的父类方法,不能定义为private(因为这就限定只能在类内使用)。重新定义方法时注意,对于父类中的方法权限,只能扩大不能缩小。
  • 接口说明了“做什么”,而实现这个接口的类,也就是实现类需要说明“怎么做”。接口可以用于定义行为但不定义操作。类要操作接口,必须使用implements关键字,操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract。
  • enum中列举的常数,枚举类型实例:public static final。

教材学习中的问题和解决过程

自己在练习中尝试打了一个代码,结果出现了一些疑惑。
输入图片说明
输入图片说明
输入图片说明
输入图片说明
两次代码区别只有子类中是否打了“String name”这行代码,为什么有这行代码运行结果就是大写的“LOVE”没有就是小写的"love"???
由此我去百度查找了相关解释。

解答:Cat子类在不写String name的时候是继承了父类Animals的成员变量name; 这时在main函数中实例化Cat,调用构造函数Cat(String name),其中的this.name就是Animals父类中的name。所以a.name随着赋值而变化 而当子类中写了String name;的时候是父类中的成员变量在子类中重写,main函数调用构造函数,其中的this.name代表的是Cat类中重写的成员变量name,而不是父类中的name。所以a.name保持不变,仍然是大写的LOVE

代码托管

输入图片说明
输入图片说明

上周考试错题总结

  1. CH04 填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
  2. 填空:System.out.println(52+25+””);的结果是(77)
  3. 填空:Linux Bash中,(grep )命令可以进行全文搜索。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 2/2 20/20
第二周 140/160 2/4 18/38
第三周 113/273 1/5 20/58
第四周 335/608 1/6 20/78
posted @ 2017-03-19 12:20  乐舞歌不是可爱送  阅读(150)  评论(2编辑  收藏  举报
Live2D