标签:作用 def import super prot scope port 变量 关键字
我们经常用四种修饰符去修饰变量、方法和类,今天我们来测试他们修饰方法时候的作用域。
package Scope1;
/**
* 测试类
*/
public class Person {
public void publicMed(){}
protected void protectedMed(){}
void defaultMed(){}
private void privateMed(){}
// 都可以访问
public void test(){
Person person = new Person();
person.protectedMed();
person.defaultMed();
person.privateMed();
person.publicMed();
}
}
package Scope1;
/**
* 同包,非子类
*/
public class Test01 {
public void test01(){
Person person = new Person();
person.publicMed();
person.protectedMed();
person.defaultMed();
// private方法不可见
}
}
package Scope1;
/**
* 同包,子类
*/
public class Test02 extends Person{
public void test02(){
super.publicMed();
super.protectedMed();
super.defaultMed();
// private方法不可见
}
}
package Scope2;
import Scope1.Person;
/**
* 非同包,非子类
*/
public class Test03 {
public void test02(){
Person person = new Person();
person.publicMed();
// protected方法不可见
// default方法不可见
// private方法不可见
}
}
package Scope2;
import Scope1.Person;
/**
* 非同包,子类
*/
public class Test04 extends Person{
public void test04(){
super.publicMed();
super.protectedMed();
// default方法不可见
// private方法不可见
}
}
1、private关键子,只能在本类中才可以访问。
2、default关键字,同包下才可以访问。
3、protected关键字,同包下和不同包下的子类才可以访问。
4、public关键字,任何地方都可以访问。
private、default、protected和public的作用域
标签:作用 def import super prot scope port 变量 关键字
原文地址:https://www.cnblogs.com/feiqiangsheng/p/12233495.html