20165218 2017-2018-1 《Java程序设计》第四周学习总结
教材学习内容总结
第五章 子类与继承
子类与父类
- 通过关键字
extands
定义子类
class 子类 extands 父类{
}
- 子类只能有一个父类,父类可以有多个子类
- 子类继承父类的成员变量和方法
- 子类和父类在同一包中:可以继承父类中不是
private
的成员变量和方法 - 子类和父类不在同一包中:继承父类中
protected
和public
的成员变量方法 - 调用另一个类的
protected
变量和方法时,无论该变量或方法是否是继承的,当前类需要和该方法或变量所在的类在同一个包
子类与对象
用子类的的构造方法创建对象时,子类中声明的和父类中的成员变量都分配了内存空间,但是其中一部分对象无法调用
instanceof 运算符
boolean a = 对象 instanceof 类
若对象是该类或其子类创建的对象,a=true;反之为false
方法重写
如果子类可以继承父类的某个方法,那么子类就有权利重写这个方法。
重写时,方法名字、参数个数、参数类型,子类和父类的方法必须完全相同。
不允许降低方法的访问权限,但可以提高,从高到低依次是:
public > protected > 友好的 > private
final 关键字
修饰 | 含义 |
---|---|
类 | final类不能被继承,不能有子类 |
方法 | final方法不能被子类重写 |
变量 | 常量,运行期间不许被更改 |
抽象类和抽象方法,关键字abstract
- 抽象方法只能声明,不能实现
- abstract类中可以有抽象和非抽象方法,普通方法中不能有抽象方法
- 不能用static修饰abstract方法
- 一个非abstract子类若是abstract类的子类,那么他必须重写父类的abstract方法
第六 接口与实现
关键字interface定义接口
- 接口定义=接口声明+接口体
- 接口体=常量的声明+抽象方法
- 接口内所有常量的访问权限都是public,且都是static常量(关键字
public
,static
,final
可省略 public
接口可被任何一个类实现,不加修饰词的接口默认为友好接口,被同一个包中的类实现
实现接口
- 类实现接口
class A implements Pringtable,Addable
用关键字implements
跟在类声明后实现接口调用,如有多个接口,用,
隔开
重写接口中的方法
重写时需注意:
- 去掉
abstract
修饰符 - 给出方法体
- 访问权限写出
public
代码调试中的问题和解决过程
问题1:按照课本P156页输入代码后,会出现如下问题
问题1解决方案:暂时没找到解决方案
代码托管
上周考试错题总结
15和250的二进制分别是00001111和11111010,按位与是00001010,十进制为10(答案有误)
short将byte类型的x强制转化为short类型,但y的精度更高,所以返回类型为double。错误原因,认为(short)影响了整个变量。
初始值i=1
,进入case(1)
,输出c=J
,因为没有break
,所以继续执行case(2)
,然后跳出本次循环,执行i++
,i=2,执行case(2)
;i=3,case(3)
后继续执行执行default
;i=4,执行default
,所以答案是Jeep好好
byte占8bit;整型变量都不是无符号的;错误原因:没看到是多选题……
二者相等,所以输出结果是true,答案是falsectrl
+C
退出运行,也是结束阻塞
不可以使用双引号;不可以将多个字符赋给char型变量;\u前缀表示时,必须为十六进制