封装(Encapsulation)

1. 核心概念

封装是指将类的成员变量私有化,对外提供公共的访问方法,隐藏对象的内部实现细节,仅暴露安全的访问入口,杜绝外部随意篡改数据,保证数据安全性。

核心思想:隐藏细节、对外开放

2. 实现步骤

1)使用private修饰成员变量,实现私有化; 2)提供public的getter/setter方法,用于获取和修改属性; 3)可在setter方法中加入数据校验逻辑,保证数据合法性。

3. 代码示例

public class Student {

// 私有化成员变量 private String name; private int age; // 提供get/set方法 public String getName() { return name;

}

public void setName(String name) {

this.name = name;

} public int getAge() { return age; } // 数据校验:年龄合法校验 public void setAge(int age) { if(age > 0 && age < 150){ this.age = age; }else{ System.out.println("年龄不合法!"); } } }


4. 封装的优点

1)提高数据安全性,避免外部非法修改数据; 2)代码可维护性更高,内部逻辑修改不影响外部调用; 3)代码更规范,降低程序出错概率。

三、继承(Inheritance)

1. 核心概念

继承是指一个类(子类/派生类)可以获取另一个类(父类/超类)的属性和方法,实现代码复用。Java中使用extends关键字实现继承,且Java为单继承,一个子类只能有一个直接父类。

2. 核心特点

1)子类拥有父类非私有属性和方法; 2)子类可以扩展自己的新属性、新方法; 3)子类可以重写父类方法,实现功能拓展; 4)构造方法不能被继承,私有方法无法被继承。

3. 代码示例

// 父类:人类 class Person{ public String name; public void sleep(){ System.out.println("人类需要睡觉"); } } // 子类:学生类,继承人类 public class Student extends Person{ // 扩展子类独有属性 public int stuNo; // 扩展子类独有方法 public void study(){ System.out.println("学生正在学习"); } }

4. 继承的优点

1)极大提高代码复用性,重复代码只需写一次; 2)让类与类之间产生层级关系,结构更清晰; 3)为多态的实现提供基础。

四、多态(Polymorphism)

1. 核心概念

多态指同一行为,不同实现。父类引用指向子类对象,在程序运行时根据实际对象类型执行对应的方法实现。多态分为编译时多态(方法重载)和运行时多态(方法重写),日常所说多态多指运行时多态。

2. 多态实现前提

1)必须存在继承关系; 2)子类必须重写父类方法; 3)父类引用指向子类对象。

3. 代码示例

class Animal{ public void shout(){ System.out.println("动物发出叫声"); } } class Dog extends Animal{ // 重写父类方法 @Override public void shout() { System.out.println("小狗汪汪叫"); } } class Cat extends Animal{ // 重写父类方法 @Override public void shout() { System.out.println("小猫喵喵叫"); } } // 测试多态 public class Test{ public static void main(String[] args) { // 父类引用指向不同子类对象,实现多态 Animal a1 = new Dog(); Animal a2 = new Cat(); a1.shout(); a2.shout(); } }

4. 多态的优点

1)降低代码耦合度,提高程序扩展性; 2)新增子类无需修改原有代码,符合开闭原则; 3)统一调用入口,代码更简洁优雅。

五、总结

封装、继承、多态三者相辅相成:封装保证数据安全,继承实现代码复用,多态实现程序扩展。三大特性是Java面向对象的核心精髓,熟练掌握后可以写出高复用、高内聚、低耦合的优质代码,是进阶Java开发的必备基础。

更多推荐