成员变量、成员方法、构造方法的访问权限
这三个访问权限的使用方法相同,如下:
例子
类
package demo7;
public class PC {
//private只能在当前类中访问
private String testPrivate;
//默认访问权限,不能被其他包下的类访问
String testFriendly;
//可以在任意地方访问
public String testPublic;
private void methodPrivate(){
}
void methodFriendly(){
}
public void methodPublic(){
}
public static void main(String[] args) {
PC lenovo=new PC();
lenovo.testPrivate="123";
}
}
同一包中的测试类:
不能访问 private访问权限
package demo7;
public class Test {
public static void main(String[] args) {
PC pc=new PC();
System.out.println(pc.testPrivate);
pc.methodPrivate();
}
}

不同包中的普通测试类:
只能访问 public访问权限
package demo8;
import demo7.PC;
public class Test {
public static void main(String[] args) {
PC pc=new PC();
System.out.println(pc.testPrivate);
pc.methodPrivate();
pc.testFriendly="";
}
}

protected
父类
在 p1 包下创建下面类
package p1;
public class Phone implements USB{
int battery;
protected String name;
@Override
public void chongdian() {
// TODO Auto-generated method stub
battery = 100;
}
}
子类
在 p2 包下创建子类
package p2;
import inter.Phone;
public class SmartPhone extends Phone{
public SmartPhone(){
this.name = "Iphone"; // 只能访问到父类的 name 属性
this.battery = 10; // 访问到父类的 battery 属性 报错,因为是 默认访问权限
}
}
