0
点赞
收藏
分享

微信扫一扫

java继承protected

Java继承中的protected

在Java中,继承是一种重要的面向对象编程(OOP)概念,它允许子类继承父类的属性和方法。在继承关系中,有几个访问修饰符被用来控制成员的可见性,其中之一就是protected

protected修饰符

protected是Java中的一种访问修饰符,它可以应用于类的成员变量、方法和构造函数。使用protected修饰的成员在子类中是可见的,而在其他包中的非子类中则不可见。

类的成员变量

使用protected修饰的成员变量可以被子类访问,也可以在同一包中的其他类中访问。下面是一个示例:

package com.example;

public class Vehicle {
    protected String brand;
    // ...
}

public class Car extends Vehicle {
    public void setBrand(String brand) {
        this.brand = brand;
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        car.setBrand("Toyota");
        System.out.println(car.brand);
    }
}

在上面的示例中,Vehicle类中的brand成员变量被声明为protected,因此Car类可以直接访问它并设置它的值。

如果将brand成员变量声明为private,则无法从Car类中访问它。如果将brand成员变量声明为public,则可以从任何地方访问它。

类的方法

使用protected修饰的方法可以被子类访问,也可以在同一包中的其他类中访问。下面是一个示例:

package com.example;

public class Vehicle {
    protected void drive() {
        System.out.println("Driving...");
    }
}

public class Car extends Vehicle {
    public void start() {
        drive();
        System.out.println("Starting...");
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        car.start();
    }
}

在上面的示例中,Vehicle类中的drive方法被声明为protected,因此Car类可以直接调用它。

如果将drive方法声明为private,则无法从Car类中调用它。如果将drive方法声明为public,则可以从任何地方调用它。

类的构造函数

使用protected修饰的构造函数可以被子类访问,但不能通过类的实例直接访问。下面是一个示例:

package com.example;

public class Vehicle {
    protected Vehicle() {
        System.out.println("Creating a Vehicle object...");
    }
}

public class Car extends Vehicle {
    public Car() {
        super();
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car(); // 不能使用 new Vehicle() 创建对象
    }
}

在上面的示例中,Vehicle类中的构造函数被声明为protected,因此Car类可以通过super()关键字来调用它。

小结

protected修饰符在Java继承中起着重要的作用。它可以用于类的成员变量、方法和构造函数,允许子类访问并使用这些成员。与public修饰符相比,protected修饰符提供了更严格的可见性,它只在子类和同一包中可见。

希望本文能帮助您理解Java继承中的protected修饰符的作用和用法。

参考资料:

  • [Java Tutorial: Access Modifiers](
举报

相关推荐

0 条评论