学习java时四个常用修饰符的权限:
首先创建第一个包在此包下新建java文件Demo,使用private,默认修饰符,protected,public四个修饰符创建四个show方法,在此类中主函数内创建Demo对象调用四个show方法,当打出d时可以清晰看到四个方法都可以被调用,说明在同一个包下同一个类中,四种修饰符都可以被调用。
package com.xiushifu;
public class Demo {
private void show1(){
System.out.println("private");
}
void show2(){
System.out.println("默认");
}
protected void show3(){
System.out.println("protected");
}
public void show4(){
System.out.println("public");
}
public static void main(String[] args) {
Demo d=new Demo();
d.show1();
d.show2();
d.show3();
d.show4();
}
}
在同一个包下创建Demo1类,在此类的主函数中创建Demo对象调用show方法可以看到能调用show2,show3,show4,方法。
package com.xiushifu;
public class Demo1 {
public static void main(String[] args) {
Demo d1=new Demo();
d1.show2();
d1.show3();
d1.show4();
}
}
同样创建一个Demo2类继承Demo类,在主函数中创建Demo2对象调用Demo类中的方法当打出d2时可以看到只能调用show2,show3,show4,方法说明private修饰符是私有的。
package com.xiushifu;
public class Demo2 extends Demo{
public static void main(String[] args) {
Demo2 d2=new Demo2();
d2.show2();
d2.show3();
d2.show4();
}
}
新建一个包在此包下新建Demo3类继承Demo,在此主函数中创建Demo3对象调用方法当打出d3时就可以知道,只能调用show3,show4方法,说明在不同包中的子类,只能调用使用protected,public修饰符的方法(需要导包)。
package com.xiushifu2;
import com.xiushifu.Demo;
public class Demo3 extends Demo {
public static void main(String[] args) {
Demo3 d3=new Demo3();
d3.show3();
d3.show4();
}
}
接着在新的包下创建Demo4类,不继承Demo,直接创建Demo对象调用Demo中的方法,可以看到只能调用public修饰符修饰的方法。
package com.xiushifu2;
import com.xiushifu.Demo;
public class Demo4 {
public static void main(String[] args) {
Demo d4=new Demo();
d4.show4();
}
}
总结:
此片为本人学习中的学习笔记仅供参考如有雷同请联系我删除,个人观点不喜勿喷。



