Java三大特性:封装、继承与多态原理及代码实现

许南星
许南星
发布时间:2026-10-16 | 2人浏览过
原创

Java面向对象的三大核心特性是封装、继承和多态。封装用于隐藏内部细节并提供安全访问接口;继承实现代码复用并建立类层次;多态允许同一操作作用于不同对象时表现不同行为,通常结合向上转型与方法重写使用。理解这三者的协作机制是掌握Java程序设计的关键。

封装:隐藏细节与安全访问

封装是将类的属性(成员变量)隐藏在类的内部,禁止外部程序直接访问或修改。这通常通过 private 权限修饰符来实现。为了在保护数据的同时允许外部交互,需要提供公共的访问方法:

  1. Getter方法:public getVariableName(),用于获取成员变量的值。
  2. Setter方法:public setVariableName(Parameter),用于设置成员变量的值。注意变量名首字母需大写。

这种设计确保了数据的完整性和安全性,防止非法赋值。

继承:代码复用与类关系

继承描述了类与类之间“属于”的关系,类似于集合中的包含与被包含。例如,“大学生”类可以继承“学生”类。在Java中:

  • 父类/基类:被继承的类。
  • 子类/派生类:继承其他类的类。

Java支持单继承(一个类只能有一个直接父类,但允许多层次继承如“孙子-父亲-爷爷”的关系)和多实现(接口)。继承的核心格式如下:

public class SubClass extends SuperClass {
    // 子类内容
}

多态:同一接口,多种形态

封装和继承大多是为了服务于多态。多态是指同一个行为具有多个不同的表现形式。例如:

  • 具体实例:Unst u = new Unst();(大学生对象)。
  • 向上转型:Student s = new Unst();(将大学生视为一般学生)。

在不同上下文中,对象表现出不同的形态,这就是多态。其实现前提包括:

  1. 存在继承关系。
  2. 发生方法重写(Override)。
  3. 有父类引用指向子类对象。

实战代码演示

以下代码通过创建计算机类体系,完整演示了封装、继承和多态的综合应用。

第1步:定义父类并实现封装

父类 Computer 定义了基本属性并通过 private 和保护性方法实现封装。

package Cl1;

public class Computer {
    // 使用 private 进行封装
    private String name;
    private int price;

    // 构造方法
    public Computer() {}

    public Computer(String name) {
        this.name = name;
    }

    // Getter 和 Setter 方法
    public String getName() { return name; }

    public void setName(String name) { this.name = name; }

    public int getPrice() { return price; }

    public void setPrice(int price) { this.price = price; }

    // 基类行为
    public void study() {
        System.out.println("电脑能用来学习,也能敲代码");
    }
}

第2步:创建子类实现继承与方法重写

Lenovo 继承自 Computer,并重写了 study 方法来体现品牌特有的行为。

package Cl1;

public class Lenovo extends Computer {
    public Lenovo() {}

    public Lenovo(String name) {
        super(name);
    }

    // 重写 study 方法
    @Override
    public void study() {
        super.study(); // 调用父类方法
        System.out.println(getName() + "价格" + getPrice() + "rmb, 敲代码年入百万不是梦");
    }
}

第3步:构建多态应用场景

Apple 类接收父类引用作为参数,演示如何通过统一接口处理不同子类对象。

package Cl1;

public class Apple {
    // 接受父类类型参数,体现多态
    public void make(Computer s) {
        s.study();
    }
}

第4步:测试运行结果

在测试类中,通过向上转型创建对象,并调用多态方法。

package Cl1;

public class Test {
    public static void main(String[] args) {
        // 1. 向上转型(自动转型)
        Computer cp = new Lenovo();
        cp.setName("联想小新");
        cp.setPrice(5000);

        // 2. 调用重写后的 study 方法
        cp.study();

        // 3. 多态展现
        Apple apple = new Apple();
        apple.make(cp);
    }
}

以上就是Java封装、继承与多态特性的详细内容,更多关于Java面向对象编程的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表