1 继承
class Parent{
属性;
构造方法;
其它方法;
}
class Child extends Parent{
全部继承过来;
可以重写父类的属性与方法;
可以拥有自己独特的属性和方法;
}
- 继承语法——extends
- 一个子类只能继承一个父类,一个父类可以由多个子类继承:一个儿只能有一个爹,一个爹可以有好几个儿
- 多个子类继承同一个父类时,每创建一个子类对象的同时,JVM都会默认调用父类的构造方法创建一个父类对象,即在具体对象面前,父类对象与子类对象是一对一实现
- 父类都默认继承了超类Object中的所有属性与方法,子类继承父类就不会再继承Object类,但也间接继承了Object类
- 子类会直接获取到父类所有的属性与方法,当子类与父类含有相同的属性时,可以用关键字this和super进行区分
class Parent{
String name = "fu";
}
class Child extends Parent{
String name = "zi";
void test(){
输出super.name;
输出this.name;
}
}
- 子类可以重写父类的方法(不包括构造方法),父类的方法不会被覆盖掉,依旧可以用super关键字调用
- 子类重写父类方法时,方法名、返回值类型、参数列表要和父类方法一致
2 封装
看这篇总结
- 简单来说就是,将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的 getXxx()/setXxx() 方法
- 好处就是,通过方法来实现成员变量的操作,提高了代码的安全性,把代码用方法进行封装,提高了代码的复用性
3 多态
Person p1 = new Person();
Person p2 = new Boy();
Person p3 = new Girl();
p3.testGirl();
Girl p4 = new Girl();
p3.testGirl();
- 多态其实就是一个对象在不同场景下表现出来的不同状态和形态,在不同场景下同一个对象表现出来的能力是不同的
- 多态语法常用来约束对象的使用场景
4 方法重载
- 一个类中不允许声明相同的属性和相同的方法(即方法名、参数数量、参数顺序、参数名都相同)
- 构造方法也有方法重载