Java基础5 封装继承多态

一、封装(Encapsulation)

是什么?

把数据和操作数据的方法“打包”在一个类中,隐藏内部细节,只暴露必要的接口。就像你用的咖啡机——你只需要按按钮,不需要知道内部怎么烧水、磨豆。

为什么用?
  • 保护数据安全:防止外部直接修改敏感数据(比如年龄不能为负数)。

  • 简化使用:使用者只需关注功能,不用理解复杂实现。

怎么用?
  1. 用 private 关键字隐藏属性。

  2. 用 public 的 getter/setter 方法控制访问。

代码示例
public class Person {
    // 1. 隐藏数据(private)
    private String name;
    private int age;

    // 2. 通过public方法暴露可控的访问
    public void setAge(int age) {
        if (age < 0) {
            System.out.println("年龄不能为负数!");
        } else {
            this.age = age;
        }
    }

    public int getAge() {
        return this.age;
    }
}

// 使用
Person p = new Person();
p.setAge(-5); // 控制台输出:年龄不能为负数!
p.setAge(25);
System.out.println(p.getAge()); // 输出:25

二、继承(Inheritance)

是什么?

子类可以继承父类的属性和方法,就像你继承了父母的一些特征(比如眼睛颜色),但也可以有自己的特点(比如发型)。

为什么用?
  • 代码复用:避免重复写相同的代码。

  • 扩展功能:子类可以在父类基础上添加新功能。

怎么用?
  1. 用 extends 关键字继承父类。

  2. 子类可以重写(Override)父类的方法。

代码示例
// 父类
class Animal {
    public void eat() {
        System.out.println("动物在吃东西");
    }
}

// 子类继承父类
class Cat extends Animal {
    // 重写父类方法
    @Override
    public void eat() {
        System.out.println("猫在吃鱼");
    }
    
    // 子类特有方法
    public void meow() {
        System.out.println("喵喵叫");
    }
}

// 使用
Cat cat = new Cat();
cat.eat(); // 输出:猫在吃鱼(调用子类方法)
cat.meow(); // 输出:喵喵叫
<

你可能感兴趣的:(java,开发语言)