【Java面向对象编程(OOP)的三大基本特性】
Java面向对象编程(OOP)的三大基本特性
- 封装
- 继承 (Inheritance)
- 多态
面向对象编程(OOP
Object-Oriented Programming)的三大基本特性是:
- 封装
- 继承
- 多态
封装
核心思想:将数据(属性)和行为(方法)捆绑在一起,形成一个独立的“对象”,并隐藏对象的内部实现细节。
class BankAccount {private double balance; // 私有属性,外部无法直接访问public void deposit(double amount) { // 公开方法if (amount > 0) {balance += amount;}}
}
主要作用:
- 信息隐藏:只暴露必要的接口,保护内部数据不被随意修改
- 提高安全性:通过访问控制(public、private、protected)来保护数据
- 降低复杂度:使用者
无需了解内部实现,只需调用接口
继承 (Inheritance)
核心思想:允许一个新类(子类)基于现有类(父类)来创建,获得父类的属性和方法,并可以添加新的功能。
class Animal { // 父类void eat() {System.out.println("动物在吃东西");}
}class Dog extends Animal { // 子类void bark() {System.out.println("狗在叫");}
}
主要作用:
- 代码复用:子类可以重用父类的代码
- 扩展功能:子类可以在继承的基础上进行扩展
- 建立类之间的关系:形成层次结构
多态
核心思想:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
主要形式:
- 编译时多态:方法重载
- 运行时多态:方法重写(继承 + 方法覆盖)
主要作用: - 提高灵活性:同一接口可以有不同的实现
- 增强扩展性:易于添加新功能而不影响现有代码
class Animal {void makeSound() {System.out.println("动物发出声音");}
}class Cat extends Animal {@Overridevoid makeSound() { // 方法重写System.out.println("喵喵喵");}
}class Dog extends Animal {@Overridevoid makeSound() { // 方法重写System.out.println("汪汪汪");}
}// 使用多态
Animal myAnimal = new Cat();
myAnimal.makeSound(); // 输出"喵喵喵"
