Java 保护访问不起作用

2024-02-07

在java中,访问权限分为三个级别:

  • 公共——向世界开放
  • 私人 - 仅向全班开放
  • 受保护 - 仅对类及其子类开放(继承)。

那么为什么java编译器允许这种情况发生呢?

TestBlah.java:

public class TestBlah {

    public static void main(String[] args) {
        Blah a = new Blah("Blah");
        Bloo b = new Bloo("Bloo");
        System.out.println(a.getMessage());
        System.out.println(b.getMessage()); //Works
        System.out.println(a.testing);
        System.out.println(b.testing); //Works
    }
}

布拉赫.java:

public class Blah {
    protected String message;

    public Blah(String msg) {
        this.message = msg;
    }

    protected String getMessage(){
        return(this.message);
    }   
}

布卢.java:

public class Bloo extends Blah {
    public Bloo(String testing) {
        super(testing);
    }
}

其实应该是:

只开放给同一包中的类 http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html类及其子类(继承)

这就是为什么

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 保护访问不起作用 的相关文章

随机推荐