重载和重写的关系:
继承的使用:1.符合is - a关系,2继承实现代码重用:当多个子类拥有共同的属性时,人为把共同的属性和方法提取到父类中,子类继承父类实现代码重用。
抽象类概念:在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体,位于塔尖的越来越抽象。
当一个类中的方法过于抽象时,实现不确定如何实现,此时可以把该方法定义成抽象方法,抽象方法所在的类过于抽象,成为抽象类。(abstract class)
抽象类的特性:1抽象类过于抽象,实例化后 无意义=>不能实例化。2如果一个方法过于抽象无法实现,需要把该方法声明为抽象方法,抽象方法一定位于抽象类中,抽象方法没有方法体 ,抽象类中的方法不一定都是抽象方法。子类继承抽象类,一定要根据自身情况重写抽象类的抽象方法,除非子类也是抽象类。
重写和实现:重写(override):子类继承父类的方法时不能满足自身需要时,子类重写父类的方法名。
实现(implement):子类继承抽象父类时,一定要重写父类的抽象方法,此时父类的抽象方法没没有方法体,也没有实现,子类一定重写父类的抽象方法也即实现了父类的抽象方法。
实现是一种特殊的重写,实现建立在重写的继承上。
final关键字:用于修饰局部变量。属性,方法和类表示最终的意思。
1final修饰类表示最终类,无法被继承。
2final修饰符方法,方法就不能别重写。
3fianl修饰属性,经常和static搭配使用,形成静态常量。
4final修饰基本数据类型,表示表示数据中的值不能被改变。
5final修饰引用数据类型,表示数据中的地址不能被改变。
多态的概念:为多种状态/多种形态。
实现多态的步骤:1编写父类,2编写子类,子类一定要重写/实现父类的方法,3运行时,父类类型引用子类对象
多态的实现形式:1父类类型引用子类对象。2父类作为方法形参实现多态,3父类作为方法的返回值实现多态,
类型转换:1自动类型转换:子类可以自动转换为父类
2强制类型转换:父类可以强制转换为子类。需要判断父类对象的真实类型,用instanceof关键字。如果需要调用子类特有方法时,一定要强制转换类型。