本类 | 同一个包下(子类和无关类) | 不同包下(子类) | 不同包下(无关类) | |
private: | Yes | No | No | No |
默认: | Yes | Yes | No | No |
protected: | Yes | Yes | Yes | No |
public: | Yes | Yes | Yes | Yes |
本类
/*
权限修饰符:
本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类)
private: Yes No No No
默认: Yes Yes No No
protecter: Yes Yes Yes No
public: Yes Yes Yes Yes
*/
package com.lxg;
public class Father{
private void show(){
System.out.println("private show");
}
void show2(){
System.out.println("show2");
}
protected void show3(){
System.out.println("protected show3");
}
public void show4(){
System.out.println("public show4");
}
public static void main(String[] age){
Father f = new Father();
f.show();
f.show2();
f.show3();
f.show4();
}
}
同一个包下(子类和无关类)
package com.lxg;
public class Son extends Father{
public static void main(String[] args){
Father f = new Father();
//f.show();
f.show2();
f.show3();
f.show4();
System.out.println("----------------------");
Son s = new Son();
//s.show();
s.show2();
s.show3();
s.show4();
}
}
package com.lxg;
public class Test{
public static void main(String[] args){
Father f = new Father();
//f.show();
f.show2();
f.show3();
f.show4();
}
}
不同包下(子类)
package cn.itcast;
import com.lxg.Father;
public class Son2 extends Father{
public static void main(String[] args){
Father f = new Father();
//f.show();
//f.show2();
f.show3();
f.show4();
System.out.println("----------------------");
Son2 s = new Son2();
//s.show();
//s.show2();
s.show3();
s.show4();
}
}
不同包下(无关类)
package cn.itcast;
import com.lxg.Father;
public class Test2{
public static void main(String[] args){
Father f = new Father();
//f.show();
//f.show2();
//f.show3();
f.show4();
}
}