Java 面向对象的三大特征
Java 面向对象的三大特征:
- 继承
- 封装
- 多态
也有人说还有第四大特征,抽象。
继承
继承也属于类与类之间的关系,它就是子类继承父类的特征(属性)和行为(方法)。
封装
封装就是将数据和对数据的操作过程包装起来,它的目的就是保护数据和操作过程的安全。
方法和类本身就是一个封装的过程。方法封装的是对数据的操作过程,类封装的是属性和方法。
多态
多态是同一个对象具有多个不同表现形式的能力。
多态的特点:
有继承关系
父类类型的引用指向子类的对象
- 向上转型:
Parent p = new Child();
- 向上转型:
子类重写父类的方法
如果子类与父类有重名的属性,调用时获得的是父类的属性
如果想要调用子类独有的方法,需要将类型还原回真实类型
- 向下转型:
Child c = (Child)p;
- 向下转型:
抽象
abstract 是 Java 中的一个特征修饰符,它可以修饰类本身、类的方法。
如果修饰了类的方法,那么这个类也必须被修饰为抽象类。
抽象类可以包含抽象方法和非抽象方法。
抽象方法是一种没有具体实现的方法,也就是说,抽象方法没有方法体。它的方法体由子类实现。
继承了抽象类的子类,需要将抽象类中的所有抽象方法都实现。
java
public abstract class SuperClass{
abstract void m(); //抽象方法
}
class SubClass extends SuperClass{
//实现抽象方法
void m(){
System.out.println("m");
}
}