1. 同包同类:直接用
自己挣的钱还需要问别人吗?拿来就花
package TestProtected;
public class Person {
protected int money = 100;
public void fun() {
System.out.println(money);// 同包同类
}
}
2. 同包不同类:通过创建对象访问
兄弟姐妹之间如果打个招呼能借点钱吧
package TestProtected;
public class Test {
Person person = new Person();
public void fun() {
System.out.println(person.money);// 同包不同类
}
}
3. 不同包的子类:导包再用
自己的孩子总能直接花钱吧,不过得父母先给你钱(导包)
package TestProtected1;
import TestProtected.Person;
public class Boy extends Person {
public void funBoy() {
System.out.println(money);// 不同包的子类
}
}
当然,同包的子类直接用。
package TestProtected;
public class Girl extends Person {
public void funGirl() {
System.out.println(money);// 同包的子类
}
}
4. 不同包且非子类:怎么也不能用
陌生人打个招呼你就给用吗?当然不能。
package TestProtected1;
import TestProtected.Person;
public class Test1 {
Person person = new Person();
public void fun() {
// System.out.println(person.money);// 不同包非子类
}
}