广州电脑培训_电脑培训班_电脑培训课程-北大青鸟电脑学校
当前位置:网站首页 > 软件开发培训 > 正文

java类成员访问控制权限有哪些?

作者:广州电脑培训甘发布时间:2020-10-10分类:软件开发培训浏览:782


导读:java类成员访问控制权限有哪些?在JAVA中有四种访问控制权限,分别为:private,default,protected,public1、Private:如果一个成员方法...

java类成员访问控制权限有哪些?在JAVA中有四种访问控制权限,分别为:private, default, protected, public


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


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


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


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


以下是示例代码:

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();

}

}


软件开发培训排行
最近发表
标签列表