一、组合(Composition)

也就是直接new一个已有类的对象,就能直接能调用它的方法呗。。。

二 继承(Inheritance)

注意,继承可能破坏类的封装性。

组合优于继承

三、重载和覆盖(overload/ override)

多态: 相同的名字表达不同的方法。

实现方式1: 重载(overload): 方法名相同、参数不同。发生于同一个类之间
实现方式2: 覆盖(override): 主要是子类对父类

四、抽象方法/抽象类(abstract class/ method)

定义抽象类/抽象方法:

abstract class test{
public int v;
abstract void test();
}

抽象类是专门用作继承的,不可以被实例化
抽象方法只能出现在抽象类中。

也就是说,假如定义了一个非抽象的子类继承了抽象类,那么这个类必须将所有的抽象方法重载为普通方法才能不报错。

五:多态(Polymorphism)

1、向上转型(upcasting)

也就是:子类将值赋给父类
李刚 aa = new 李刚();
李启铭 bb = new 李启铭();
李刚 cc = new 李启铭(); // Upcasting