一、概念解释
- 被继承的类:base class(基类)、或parent class(父类)、或superclass(超类)
- 继承的类:subclass(子类)、或derived class(派生类)、child class(孩子类)
- 覆盖(Override)
- 多态(Polymorphism):一个对象变量可以引用多种实际类型的现象,用动态绑定的方法来实现多态
- 动态绑定(dynamic binding):在运行时能够自动地选择调用那个方法的现象,但是方法不能是private、static或者final。
二、知识点
- 在Java中,所有的继承都是公有继承,与C++中不同
- 子类无法调用父类的私有类型数据,只能通过get方法得到
- super是一个指示编译器调用父类方法的特有关键词
- 使用super关键词调用父类构造器的语句必须是子类构造器的第一条语句
- 有一个公共父类派生出来的所有类的集合被成为继承层次(inheritance hierarchy)。
- 不允许扩展的类被称为final类,定义的时候用final来修饰类,同样的,类中的方法被声明为final,子类就不能覆盖这个方法
- 在Java程序设计语言中,在同一个包中的所有类都可以访问proteced域,而不管它是否为这个类的子类
- 为了提高程序的清晰度,包含一个或多个抽象方法的类本身必须被声明为抽象的
- 如果重新定义equals方法,就必须重新定义hashCode方法
三、辨析
- equall 和 “==” 的区别
- 装箱和拆箱机制。如Integer和int的区别
- Java 5.0以后引入的泛型机制和以前的区别
四、类的属性
- public 意味着任何地方的其他类都能访问
- default 则是同一个包的类可以访问
- protected表示同一个包的类可以访问,其他的包的该类的子类也可以访问
- private表示只有自己类能访问