动力节点口口相传的Java黄埔军校
java类成员访问控制权限有哪些?
2019-09-16 来源:动力节点

  

今天动力节点java培训机构小编为大家介绍“java类成员访问控制权限”,希望通过此文大家能够掌握java类成员访问控制权限,下面就随小编一起看看java类成员访问控制权限有哪些?


u=413209375,3586319870&fm=11&gp=0.jpg


在JAVA中有四种访问控制权限,分别为:private, default, protected, public


  1、Private


  如果一个成员方法或变量名前使用了private, 那么这个成员只能在类的内部使用。


  2、Default


  如果一个成员方法或变量名前没有使用任何访问控制符,就为default。默认的访问控制成员可以被这个包中的其它类访问(包括这个包中的子类内部以及这个包中所有类以对象.成员的方式访问)。如果这个子类不在这个包中,则子类也不能访问父类的默认访问控制成员


  3、Protected


  这个成员既可以被这个包中其它类访问,也可以被不同包中的子类内部访问


  4、Public


  可以被所有类访问,不管访问类与被访问类在不在同一个包中


  总结如下:

1568605006836340.png


  以下是示例代码:


  1、包myjava.learn.package1:


  Person.java


package myjava.learn.package1;

 

public class Person {

 

    private int a_pri = 10; // private只能在本类被访问, 子类也不能访问

    int a_defaut = 11;

    protected int a_prot = 12;

    public int a_pub = 13;

     

}



PersonPackage1.java


package myjava.learn.package1;

 

public class PersonPackage1 extends Person{

     

 

    void fun(){

        // 以下当然可以被访问,因为在同一个包中的类可以访问default, protected, public

        this.a_defaut = 12;

        this.a_prot = 13;

        this.a_pub = 14;

        System.out.println( this.a_defaut );

    }

}



Main.java


package myjava.learn.package1;

 

public class Main {

    public static void main( String args [] ){

         

        PersonPackage1 pp = new PersonPackage1();

        pp.fun();

         

        // 同一包中的类可以以[对象.成员]访问default, protected, public

        System.out.println( pp.a_defaut );

        System.out.println( pp.a_prot );

        System.out.println( pp.a_pub );

    }

}



  2、包myjava.learn.package2:


  Main.java


package myjava.learn.package2;

import myjava.learn.package1.PersonPackage1;

import myjava.learn.package1.Person;

// 其它包中的子类

class PersonPackage2 extends Person{

    void PrintAttr(){

        // 不同包的子类只能访问父类的public, protected

        System.out.println(this.a_prot);

        System.out.println(this.a_pub );

    }

}

public class Main {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

         

        // 其它包中的类(对象.成员, 不是子类),只能访问public成员

        PersonPackage1 pp = new PersonPackage1();

        System.out.println(pp.a_pub);

         

        PersonPackage2 pp2 = new PersonPackage2();

        pp2.PrintAttr();

    }

}


以上就是动力节点java培训机构小编介绍的“java类成员访问控制权限有哪些?”的内容,希望对大家有帮助,更多java最新资讯请继续关注动力节点java培训机构官网,每天会有精彩内容分享与你。


相关免费视频教程推荐-java入门学习零基础教程下载


java类成员的访问权限:http://www.bjpowernode.com/xiazai/2587.html


java类的访问权限:http://www.bjpowernode.com/xiazai/2588.html



开班信息

同类文章

微信搜索“动力节点Java学院“或扫二维码

关注官方微信免费领学习资料

动力节点Java培训机构,行业口碑最好的Java培训机构。

立即抢名额