继承:掌握Java面向对象编程的核心扩展机制

 

目录

1.基本概念

继承

 单继承

多级继承

构造器

2.关键字 

3.Java中实现继承完整代码示例

4.注意事项


         Java中的继承是一种机制,允许一个类(子类)从另一个类(父类或超类)继承字段和方法。

1.基本概念

继承

继承允许一个类(子类)获取另一个类(父类)的属性和方法,除了那些被声明为private的成员。这是实现代码重用和建立“is a”关系的基础。例如,假设有一个名为Animal的基类,可以创建一个名为Dog的子类,它也是一个Animal。

class Animal {
    protected String name;
    public void eat() { // 父类的方法
        System.out.println(name + "吃饭");
    }
}
// 定义一个子类,继承自Animal
class Dog extends Animal {
    public Dog(String name) {
        this.name = name;
    }
    public void bark() { // 子类的方法
        System.out.println(name + "汪汪汪叫");
    }
}
public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog("小狗");
        dog.eat();  // 继承自Animal类的方法
        dog.bark();//Dog类自己的方法
    }
}

 单继承

在Java中,每个类只能直接继承自一个父类,这被称为单继承。这意味着如果你定义了一个类Dog,它不能同时继承自两个或更多的类。然而,通过使用接口,Java可以在一定程度上模拟多重继承的行为。

多级继承

类可以从其父类继承,而这个父类又可以有自己的父类,形成一个多级层次结构。

构造器

子类构造器会默认调用父类的无参构造器。如果需要显式调用父类的构造器,则使用super()。

2.关键字 

extends: 用于声明一个类继承另一个类。子类将获得父类的所有非私有成员(字段和方法),并可以在其基础上添加新的功能或重写现有功能。

super: 用于引用父类对象的实例变量、方法和构造函数。当子类和父类是同名变量的时候,在子类当中访问这个同名的成员变量,访问的是子类自己的(优先访问子类自己的);如果一定要访问父类的,使用关键字super。

3.Java中实现继承完整代码示例

class Animal {
    String name;
    // 父类的构造函数
    public Animal(String name) {
        this.name = name;
    }
    // 父类的方法
    void eat() {
        System.out.println(name + "吃饭");
    }
}
// 定义一个子类,继承自Animal
class Dog extends Animal {
    int age;
    // 子类的构造函数
    public Dog(String name, int age) {
        super(name); // 调用父类的构造函数
        this.age = age;
    }
    // 子类的方法
    void bark() {
        System.out.println(name + "汪汪汪叫");
    }
}
public class Test {
    public static void main(String[] args) {
        Dog myDog = new Dog("小狗", 5);
        myDog.eat();  // 继承自Animal类的方法
        myDog.bark(); // Dog类自己的方法
    }
}

4.注意事项

私有成员不能被继承。

使用final修饰符可以防止类被继承或方法被重写。

你可能感兴趣的:(Java,java)