Java Subclass子类访问修饰符规则

发布时间:2025-03-26 22:35:39 作者:小樊
来源:亿速云 阅读:119

在Java中,子类可以继承父类的属性和方法。当涉及到访问修饰符时,子类需要遵循以下规则:

  1. 子类可以访问父类的public成员变量和public方法。
  2. 子类可以访问父类的protected成员变量和protected方法,即使子类与父类不在同一个包中。
  3. 如果父类的成员变量或方法是默认(package-private)访问修饰符,那么只有同一个包中的子类可以访问它们。
  4. 子类不能直接访问父类的private成员变量和private方法。但是,可以通过父类提供的public或protected的getter和setter方法来间接访问这些私有成员。

需要注意的是,子类可以重写(override)父类的方法,但是访问修饰符的范围不能比父类更严格。例如,如果父类的方法是public,那么子类重写的方法也必须是public。以下是一个简单的例子:

// 父类
public class Parent {
    public int publicVar;
    protected int protectedVar;
    int defaultVar;
    private int privateVar;

    public void publicMethod() {
        // ...
    }

    protected void protectedMethod() {
        // ...
    }

    void defaultMethod() {
        // ...
    }

    private void privateMethod() {
        // ...
    }
}

// 子类
public class Child extends Parent {
    public void accessParentMembers() {
        publicVar = 1; // 可以访问
        protectedVar = 2; // 可以访问
        defaultVar = 3; // 可以访问

        // privateVar = 4; // 编译错误,无法直接访问父类的private成员变量
        // privateMethod(); // 编译错误,无法直接访问父类的private方法

        publicMethod(); // 可以访问
        protectedMethod(); // 可以访问
        defaultMethod(); // 可以访问
    }
}

总结一下,子类可以访问父类的public和protected成员变量和方法,以及同一个包中的默认访问修饰符成员变量和方法。子类不能直接访问父类的private成员变量和方法,但可以通过父类提供的public或protected的getter和setter方法来间接访问这些私有成员。

推荐阅读:
  1. Java中的修饰符有哪些?
  2. java的访问修饰符

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:OpenHarmony图表怎样提升数据准确性

下一篇:OpenHarmony图表如何助力数据分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》