Java语言的三大特征分别是封装、继承和多态。
一、封装:
通常认为,封装就是把数据和操作数据的方法封装在一起,形成一个整体,对数据的访问只能通过已经定义好的接口来进行,从而实现信息隐藏,保护数据
二、继承:
继承就是从以后的类得到继承信息从而创建新类的过程。也就是个性对共性属性和方法的接受,并加入个性特有的属性和方法。继承的类称为子类(派生类),被继承的类称为父类(基类,超类)。
目的:实现代码的复用
注意:父类的私有属性和构造方法不能被继承。
三、多态
多态就是相同的事物,调用相同的方法,参数也相同,但是表现的行为却不相同(一个接口,多重实现)。
分为编译时多态(方法重载)和运行时多态(方法重写)。
3.1 实现多态的条件:
子类继承父类并重写父类的方法
类型引用子类型对象。
3.2 多态的具体体现
对象的多态是多态的核心和重点。
3.3 规则:
一个对象的编译类型与运行类型可以不一致
编译类型在定义对象时,就确定了,不能改变,而运行类型是可以变化的
编译类型看定义对象时 = 号的左边,运行类型看 = 号的右边
代码展示:
父类:Person
子类:Teacher、Student
a. person类
public class Person {
public void demo(){
System.out.println("人生需要努力!");
}
}
b. Student类
public class Student extends Person {
@Override
public void demo() {
System.out.println("学生是祖国的花朵!");
}
}
c. Teacher类
public class Teacher extends Person{
@Override
public void demo() {
System.out.println("老师是辛勤的园丁!");
}
}
d.Test类
public class Test {
public static void main(String[] args) {
//多态形式,创建对象
//注意编译类型看等号左边,运行类型看等号右边
Person p1 = new Student();
// 此时调用Student类中的demo()方法
p1.demo();
Person p2 = new Teacher();
// 此时调用Teacher类中的demo()方法
p2.demo();
Person p3 = new Person();
// 此时调用Person类中的demo()方法
p3.demo();
}
}