java访问权限

来源:互联网 发布:淘宝天猫内部券公众号 编辑:程序博客网 时间:2024/06/05 03:33
  • public:其后的成员,对每一个都是可用的。
//:access/pra50/Find.javapackage access.pra50;public class Find(){    public Find(){        System.out.println("i'll find you");    }    void who(){System.out.println("who are you");}}//:access/Game.javaimport access.pra50.*; public calss Game{     public static void main(String[] args){         Find f = new Find();    }}

上面的代码里,第一个创建了一个在pra50子目录中的find.java文件,然后又在access子目录下创建了Game.java文件。因为Find的构造器和类都是public的,所以可以在Game中创建一个Find对象。但是在Game.java中,f.who()是不可以的。因为who()只在pra50的包中提供访问权限。默认访问权限没有任何关键字,但是通常指的是包访问权限

在一个包中,如果两个都是默认访问权限的包,那么他们是可以互相调用和创建对象的。

  • private:除了包含该成员的类,其他任何类都无法访问这个成员。所以在同一个包里,可以随便改变private成员,他们对包里的其他成员没有影响。

  • protected:多用在继承之中。如果一个包中的一个类继承了另外一个包中的类,那么这个类唯一可以访问的就是基类中的public成员。这个时候,如果创建基类的人想让其中的一个成员只让它的继承类使用,则使用protected。如果你爸爸很有钱,但是有一笔钱只想给你这个亲儿子,其他任何时候都不能动,就给那笔钱的前面加上protected


  • 每个编译单元(文件)都只能有一个public类。即,每个编译单元都有单一的公共接口。否则会报错。

  • public类的名称必须完全与含有该编译单元的文件名相同。

  • 类的访问权限只能是public或者包访问权限

0 0
原创粉丝点击