温馨提示×

温馨提示×

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

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

Java Protected 成员变量访问

发布时间:2025-07-22 04:47:44 来源:亿速云 阅读:122 作者:小樊 栏目:编程语言

在Java中,protected关键字用于声明类的成员变量、方法或构造函数,使其具有受保护的访问级别。当一个成员变量被声明为protected时,它可以被同一个包中的其他类以及不同包中的子类访问。

以下是一个简单的例子,演示了如何在子类中访问protected成员变量:

// 父类
public class Parent {
    protected String protectedVar;
}

// 子类,与父类在同一包中
public class ChildSamePackage extends Parent {
    public void accessProtectedVar() {
        protectedVar = "Accessed from ChildSamePackage";
        System.out.println("Parent's protected variable: " + protectedVar);
    }
}

// 子类,与父类在不同包中
package anotherPackage;

import myPackage.Parent;

public class ChildDifferentPackage extends Parent {
    public void accessProtectedVar() {
        protectedVar = "Accessed from ChildDifferentPackage";
        System.out.println("Parent's protected variable: " + protectedVar);
    }
}

在这个例子中,我们有一个名为Parent的父类,它包含一个protected成员变量protectedVar。我们有两个子类:ChildSamePackage和ChildDifferentPackage。ChildSamePackage与Parent在同一包中,可以直接访问protectedVar。ChildDifferentPackage与Parent在不同包中,但仍然可以访问protectedVar,因为它是Parent的子类。

需要注意的是,如果一个类不是另一个类的子类,那么它不能直接访问protected成员变量。例如,以下代码将导致编译错误:

public class NotChild {
    public void accessProtectedVar() {
        Parent parent = new Parent();
        // 编译错误:无法从类型Parent访问受保护的成员变量 protectedVar
        parent.protectedVar = "Trying to access from NotChild";
    }
}

总之,protected成员变量可以在子类中访问,无论子类是否与父类在同一包中。但是,如果一个类不是另一个类的子类,那么它不能直接访问protected成员变量。

向AI问一下细节

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

AI
助
手