Java 继承

Java 继承

一、引言

在 Java 面向对象编程技术中,继承是至关重要的概念,它如同一块基石,允许开发者创建分等级层次的类,大大提高了代码的复用性、可维护性以及开发效率。接下来,我们将深入探讨 Java 继承的各个方面。

二、继承的概念和特点

(一)概念

继承是面向对象软件技术里的一个核心概念。若类别 B “继承自” 类别 A,那么 B 就是 “A 的子类”,A 则被称为 “B 的父类别” 或 “B 的超类”。借助继承,子类能够拥有父类的各种属性和方法,无需重新编写相同代码。

Java 提供了类的继承机制,通过该机制,新建的子类可以使用或重写父类的成员方法,访问父类的成员变量。若 A 是 B 的父类,B 是 C 的父类,那么 C 也是 A 的子类。

(二)特点

  1. 单一继承:Java 中的继承为单一继承,即一个子类只能有一个父类,但一个父类可以有多个子类。
  2. 继承自 Object 类:所有的 Java 类都继承自 java.lang.Object 类,所以 Object 是所有类的祖先类。除 Object 类外,所有类都必须有一个父类。若在定义类时未显式指定其父类,它默认继承自 Object 类。
  3. 全盘继承:子类一旦继承父类,就会继承父类所有开放的特征,无法选择性地继承。
  4. “is a” 关系:继承体现的是类与类之间 “is a” 的关系,即满足 A is a B 的关系就可以形成继承关系。

三、实现继承

在 Java 语言中,通过 extends 关键字声明一个类继承自另一个类。示例代码如下:

// 父类
class SuperClass {
   
    // 父类的成员变量和方法
}

// 子类
class SubClass extends SuperClass {
   
    // 子类的成员变量和方法
}

以宠物为例,宠物猫和宠物狗都是宠物,都有昵称、年龄等属性,都有吃东西、叫喊等行为。我们可以定义一个父类:宠物类,宠物猫和宠物狗类都继承宠物类。代码实现如下:

// 父类:宠物类
public class Pet {
   
    private String name;  // 昵称
    private int age;      // 年龄

    // getter 和 setter
    public String getName() {
   
        return name;
    }

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

    public int getAge() {
   
        return age;
    }

    public void setAge(int age) {
   
        this.age = age;
    }

    // 吃东西
    public void eat() {
   
        System.out.println(this.getName() + "在吃东西");
    }

    // 叫喊
    public void shout() {
   
        System.out.println("宠物会叫");
    }
}

// 宠物狗类
public class Dog extends Pet {
   
    // 特有属性体重
    private float weight;

    // getter 和 setter
    public float getWeight() {
   
        return weight;
    }

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值