1. 继承 :
a) 继承在生活中是一种 is a 的关系(Student is a person)
b) 在Java中, 继承的关系用extends 关键字表示
c) 在继承体系中 :
被继承的类称为父类(基类, 超类)
继承的类叫做子类
d) class A{
}
class B extends A{
}
表示B继承了A
2. 继承要注意的细节 :
a) 不能为了简化代码的编写而去继承一个类, 要在两个类中真的存在继承关系才能使用继承
b) 一个类只能有一个直接的父类
c) 父类私有的方法不会被子类继承
d) 构造方法不会被继承
e) 创建子类对象的时候, 默认会调用父类无参的构造方法,然后再调用子类的构造方法
3. super关键字 : super关键字表示对父类所在空间的引用
4. super关键字的作用 :
a) 当子类和父类都存在相同的属性和方法时, 可以使用super调用父类中的同名属性和方法
b) super关键字可以指定调用父类的某个构造方法
5. super关键字需要注意的地方 :
a) super在调用父类的构造方法的时候, 必须放在构造方法的第一句
b) this和super不能同时存在同一个构造方法中
6. super和this的区别 :
a) super表示对父类空间的引用, this 表示对当前方法调用者的对象
b) this调用的是本类的构造方法, super调用的是父类的构造方法
7. 方法重写(Override) :
a) 方法名必须一致
b) 形参列表必须一致
c) 重写的方法的访问修饰符必须大于或者等于父类的方法
d) 重写的方法的返回值类型不能大于父类的方法的返回类型
e) 重写方法抛出的异常类型必须大于或者等于父类的方法所抛出的异常
8. instanceof 关键字 :
a) 用来判断一个对象是否是某个类的具体对象
b) 判断某个对象是否是该类的直接或者间接继承的类
9. final关键字 :
a) final关键字修饰的变量和属性不能重新赋值
b) final关键字修饰的方法不能被重写
c) final修饰的类不能被继承
10. 抽象类(abstract class) : 如果某种事物存在着某种行为, 但是这种行为只是抽象的, 而没有具体的实现, 那么在Java中可以将该类定义为抽象类, 该种行为描述为抽象的行为, 而具体的实现将在子类中实现
11. 抽象类的定义 :
abstractclass ClassName{
}
12. 抽象类需要注意的细节 :
a) 抽象方法必须定义在抽象类中
b) 抽象类无法创建对象
c) 抽象类可以存在构造方法
d) 抽象类可以存在着抽象方法和具体方法, 也可以不存在抽象方法
e) 非抽象类在继承抽象类的时候, 必须把抽象类的所有抽象方法都实现
13. 抽象类虽然不能创建对象, 但是它的构造方法可以提供给子类调用初始化抽象类的成员属性
14. 抽象(abstract) :
a) private不能和abstract同时修饰一个方法, 因为私有的方法不能重被子类写
b) static不能和abstract同时修饰一个方法, 因为static所修饰的方法不能被子类重写
c) final不能和abstract同时修饰一个方法, 因为final修饰的方法不能被子类重写
15. 接口(interface)的作用 :
a) 程序的解耦
b) 定于约束
c) 扩展了功能
16. 接口中需要注意的地方 :
a) 接口中的属性默认都是public static final修饰的, 所以接口中的所有属性都是常量
b) 接口中的方法默认都是public abstract修饰的, 所以接口中的所有方法都是抽象方法
c) 接口中不能存在构造方法
d) 接口不能创建对象
e) 非抽象的类在继承接口的时候, 必须实现所有的抽象方法
17. 接口的使用 :
classClassName implements InterfaceName{
}