访问修饰符

                                                                                                                                      点击此处返回总目录

 

java权限有大到小分为四种:

 

private:只在本类中使用。

public修饰:在哪都可以用。public属于最大权限。

默认权限:只能在本包中使用。

protectd:受保护:本包中的类与其他包中的子类可以访问。

 

 

不同修饰符的使用细节:

 

public        可以修饰:类,方法,成员变量。                         最大权限,任何地方都可以使用。

protected  可以修饰:        方法,成员变量。不能修饰类。       

默认权限   可以修饰:类,方法,成员变量。

private      可以修饰:        方法,成员变量。

static         可以修饰:        方法,成员变量。

final           可以修饰:类,方法,成员变量,局部变量。

abstract     可以修饰:类,方法。

 

 

例子1:

//A.java

package cn.itcast.a;

 

public class A{

      private String a;

      int i = 1;

 

}

 

//B.java

package cn.itcast.a;

 

public class B{

      //B中不可以使用a。因为a是私有的。

      //可以调用A类的属性i。i是默认的,可以在本包内使用。

}

 

 

例子2:

//A.java

package cn.itcast.a;

 

public class A{

      private String a;

      int i = 1;

 

}

 

//B.java

package cn.itcast.b;

 

public class B{

      //B中不可以使用a。因为a是私有的。

      //可以不可以调用A类的属性i。i是默认的,可以在本包内使用。

}

 

//C.java

package cn.itcast.b;

import cn.itcast.a.*;                  //导入包 

 

public class C extends A{         //可以继承的其他包中的类。

      //不可以使用A类的属性a。因为a是私有的。

      //不可以调用A类的属性i。i是默认的,可以在本包内使用。

      //受保护成员只能在子类的里面才能用。

}

 

 


例子3:受保护的方法只能在子类的里面才能调用。

//A.java

package cn.itcast.a;

 

public class A{

      protected void abc(){

            System.out.println("abc...");

      }

}

 

//B.java

package cn.itcast.b;

 

public class B{

      public void show(){

             new A.abc();                              //正确。本包内可以使用。

      }

}

 

 

//C.java

package cn.itcast.b;

import cn.itcast.a.*;              

 

public class C extends A{    

      public void show(){

            //new A.abc();                             //受保护权限不能这样调用。

            abc();                                          //只能在子类的里面才能调用父类的受保护成员。

      }

}

 

//Test.java

package cn.itcast.b;

 

public class Test{    

      public static void main(String[] args){

            //new B().abc();                           //受保护权限,不能使用子类对象调用。

      }

}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值