java四种权限修饰符

java四种权限修饰符

Java中有四种权限修饰符:

public > protected > (default) > private
同一个类(我自己) YES YES YES YES
同一个包(我邻居) YES YES YES NO
不同包子类(我儿子) YES YES NO NO
不同包非子类(陌生人) YES NO NO NO

注意事项:

(default)并不是关键字“default”,而是根本不写。

sub包中的类

1
2
3
4
5
6
7
8
9
10
11
package cn.itcast.day11.demo02.sub;

import cn.itcast.day11.demo02.MyClass;

public class Stranger {

public void methodStrange() {
System.out.println(new MyClass().num);
}

}
1
2
3
4
5
6
7
8
9
10
11
12
package cn.itcast.day11.demo02.sub;

import cn.itcast.day11.demo02.MyClass;

public class MySon extends MyClass {


public void methodSon() {
// System.out.println(super.num);
}

}

demo02包中的类

1
2
3
4
5
6
7
8
9
10
11
package cn.itcast.day11.demo02;

public class MyClass {

public int num = 10;

public void method() {
System.out.println(num);
}

}
1
2
3
4
5
package cn.itcast.day11.demo02;


public class Demo01Main {
}
1
2
3
4
5
6
7
8
9
package cn.itcast.day11.demo02;

public class MyAnother {

public void anotherMethod() {
// System.out.println(new MyClass().num);
}

}