Java 四种访问修饰符区别

   在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性。
    一、public
     (1)定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到。
     (2)修饰的成分:
        public能用来修饰类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过。说到这里,穿插多一点知识。一个类作为外部类的时候只能被public或者默认访问修饰符所修饰,但是一个类如果作为内部类的时候,则可以被四种访问修饰符所修饰,因为一个类作为内部类的时候,就作为外部类的一个成员属性了,因此可以有四种访问修饰符修饰,这是内部类和外部类的一个区别。
        public用来修饰类中成员(变量和方法),被public所修饰的成员可以在任何类中都能被访问到。通过操作该类的对象能随意访问public成员。
        public在类的继承上的体现,被public所修饰的成员能被所有的子类继承下来。
   二、protected
       (1)定义:protected是受保护的,受到该类所在的包所保护。
       (2)作用域:被protected所修饰的成员会被位于同一package中的所有类访问到。同时,被protected所修饰的成员也能被该类的所有子类继承下来。(注意:这里是指同一个package或者不同的package中的子类都能访问)
   三、friendly(默认,缺省的)
        (1)定义:friendly是友好的,即在成员的前面不写任何的访问修饰符的时候,默认就是友好的。所谓友好的,是对同一package的类友好。
        (2)作用域:同一package中的所有类都能访问。被friendly所修饰的成员只能被该类所在同一个package中的子类所继承下来。(也就是说只有在同一个package中的子类才能访问到父类中friendly修饰的成员)
   四、private
          (1)定义:private是私有的,即只能在当前类中被访问到,它的作用域最小。
  
下面用一个表格说明四个访问控制符的作用域:
作用域         当前类       同一package       子孙类       其他package的类
public             √                   √                  √                     √
protected        √                   √                    √                     ×
friendly           √                  √                    ×                     ×
private             √                   ×                   ×                     ×

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值