Java Subclass子类访问权限控制

发布时间:2025-02-14 02:04:28 作者:小樊
来源:亿速云 阅读:95

在Java中,子类可以继承父类的属性和方法。访问权限控制是Java中一种保护数据安全的方法,它可以限制对类、方法和变量的访问。Java中有四种访问权限控制修饰符:public、protected、default(包级私有)和private。

当创建一个子类时,子类可以访问父类的成员变量和方法,但访问权限受到以下限制:

  1. public:公共访问权限,子类可以访问父类的public成员变量和方法。

  2. protected:受保护访问权限,子类可以访问父类的protected成员变量和方法,即使子类在不同的包中。

  3. default(包级私有):如果没有指定访问修饰符,则默认为包级私有。子类可以访问同一个包中的父类的default成员变量和方法,但不能访问不同包中的父类的default成员变量和方法。

  4. private:私有访问权限,子类不能访问父类的private成员变量和方法。

下面是一个简单的例子,说明子类如何访问父类的不同访问权限的成员变量和方法:

// 父类
public class Parent {
    public int publicVar = 1;
    protected int protectedVar = 2;
    int defaultVar = 3;
    private int privateVar = 4;

    public void publicMethod() {
        System.out.println("Public method");
    }

    protected void protectedMethod() {
        System.out.println("Protected method");
    }

    void defaultMethod() {
        System.out.println("Default method");
    }

    private void privateMethod() {
        System.out.println("Private method");
    }
}

// 子类,与父类在同一包中
public class Child extends Parent {
    public void accessParentMembers() {
        System.out.println("Accessing parent's public variable: " + publicVar);
        System.out.println("Accessing parent's protected variable: " + protectedVar);
        System.out.println("Accessing parent's default variable: " + defaultVar);

        publicMethod();
        protectedMethod();
        defaultMethod();

        // 无法访问父类的private成员变量和方法
        // System.out.println("Accessing parent's private variable: " + privateVar);
        // privateMethod();
    }
}

在这个例子中,Child类继承了Parent类,并尝试访问父类的不同访问权限的成员变量和方法。可以看到,子类可以访问public、protected和default成员变量和方法,但不能访问private成员变量和方法。

推荐阅读:
  1. 怎么调用java构造方法
  2. JavaScript继承与聚合实例详解

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

java

上一篇:Java Subclass子类多态性实现方式

下一篇:Java Subclass子类静态成员变量

相关阅读

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

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