java访问权限

  • public:其后的成员,对每一个都是可用的。
//:access/pra50/Find.java
package access.pra50;

public class Find(){
    public Find(){
        System.out.println("i'll find you");
    }
    void who(){System.out.println("who are you");}
}

//:access/Game.java
import 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值