Eric小屋

  • JAVA中的继承
  • 什么是继承
  • JAVA中的继承
  • 基本语法
  • 访问父类的属性和方法
  • 方法覆盖
  • 构造方法的继承
  • 防止继承
  • 继承的注意事项
  • 总结
  • 首页
  • 学习笔记
    • JAVA
    • Spring
    • Node.js
    • Vue
  • 学习文档
  • 案例项目
  • 课程笔记
  • 问题解决
登录

JAVA 继承

  • Eric
  • 2023-11-20
  • 0

JAVA中的继承

继承使面向对象编程中的一个重要概念。
在JAVA中,继承允许一个类从另一个类继承属性和方法。

什么是继承

继承是面向对象编程的四大特性之一,(封装、继承、多态、抽象)。

继承的特点:

  • 代码重用:可以重用现在的代码,无需重新编写相同的功能。
  • 拓展性:可以在现有类基础上,创建新的类,满足不同需求。
  • 维护性:需要对多个类做更改,只需要修改父类即可。

JAVA中的继承

继承是由关键字extends来实现。子类继承了父类的属性和方法,可以通过子类来访问他们。

基本语法

首先,有一个父类Animal和一个子类Dog:

class Animal {
    String name;

    void eat() {
        System.out.println(name + " is eating.");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println(name + " is barking.");
    }
}

在这里,Dog子类继承了父类Animal,得到了父类的属性name和方法eat(),同时创建了自己的方法bark()。

访问父类的属性和方法

在子类中,可以使用super关键字来访问父类的属性和方法。例如:子类中的bark()方法可以通过super.eat()来调用父类的Animal的eat()方法。

class Dog extends Animal {
    void bark() {
        System.out.println(name + " is barking.");
        super.eat(); // 调用父类的eat()方法
    }
}

方法覆盖

子类可以覆盖父类的方法,要覆盖一个方法,子类必须具有相同的名称、返回类型和参数列表。
下面是一个方法覆盖的实例:

class Animal {
    void makeSound() {
        System.out.println("Animal makes a sound.");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Dog barks.");
    }
}

在这个示例中,Dog类覆盖了Animal类中的makeSound()方法,提供了自己的实现。

构造方法的继承

子类可以调用父类的构造方法来初始化从父类继承的属性。在子类的构造方法中使用super()调用父类的构造方法。

class Animal {
    String name;

    Animal(String name) {
        this.name = name;
    }
}

class Dog extends Animal {
    Dog(String name) {
        super(name); // 调用父类的构造方法
    }
}

防止继承

如果你想要阻止某个类被继承,你可以使用final关键字来标记这个类

final class FinalClass {
    // 类的内容
}

标记为final的类不能被继承

继承的注意事项

在使用继承时,有一些需要注意的事项:

  • 单一继承: Java中不支持多重继承,一个类只能继承一个父类。这意味着一个类不能同时继承多个类。

  • 方法覆盖: 子类覆盖父类方法时,必须保持方法名称、返回类型和参数列表的一致性。否则,编译器将会报错。

  • super关键字: 子类可以使用 super 关键字来访问父类的属性和方法。这在需要调用父类的构造方法或访问父类方法时非常有用。

  • 构造方法的调用: 子类的构造方法可以调用父类的构造方法,以确保从父类继承的属性得到正确的初始化。

  • final关键字: 使用 final 关键字可以防止一个类被继承,或者防止一个方法被覆盖。这在某些情况下可以提高代码的安全性和可维护性。

  • 抽象类和接口:除了普通的类继承,Java还支持抽象类和接口的继承。抽象类和接口提供了更多的灵活性和多态性。

总结

继承是Java中的一个重要概念,它允许一个类继承另一个类的属性和方法,从而实现代码的重用和扩展。在使用继承时,需要注意方法覆盖、构造方法的调用、super 关键字等细节。通过合理使用继承,可以更好地组织和管理代码,提高代码的可维护性和可扩展性。

版权声明:本文为CSDN博主「繁依Fanyi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21484461/article/details/132675668

联系作者:2572976830@qq.com
© 2025 Eric小屋
Theme by Wing
京ICP备2023032157号 京公网安备11011402053616号
  • {{ item.name }}
  • {{ item.name }}