package pa; //包
//访问修饰符
//Java中访问权限有4种,仅有3个关键字,不写关键字表示默认权限,或称为同包权限,包指的是文件夹
/*
public 公共的权限,修饰的成员可以在任何的类中访问,是最大的权限
protected 受保护的权限,修饰的成员可以在同一个类中或同一个包的其它类中访问,如果要在其它的包的类中访问,必须是该类的子类
不写关键字 默认权限或同包权限,修饰的成员可以在同一个类中或同一个包的其它类中访问,不能跨包访问
private 私有的权限,修饰的成员可以在同一个类中访问,在其它的类中不能访问
*/
//修饰类:public 或 不写关键字
//修饰成员:可以用4种权限
public class A{
//成员变量
public String s1 = "public String";
protected String s2 = "protected String";
String s3 = "default String";
private String s4 = "private String";
//成员方法
public void print(){
System.out.println("同一个类中可以访问:");
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);
}
}
class A2{
A a = new A();
public void print(){
System.out.println("同一个包中可以访问:");
System.out.println(a.s1);
System.out.println(a.s2);
System.out.println(a.s3);
//System.out.println(a.s4); //private修饰的成员在其它类中不能访问
}
}
class ATest{
public static void main(String args[]){
A a = new A();
a.print();
A2 a2 = new A2();
a2.print();
}
}
//pb包
package pb;
import pa.A; //导入A类
public class B{
A a = new A();
public void print(){
System.out.println("不同的包中可以访问:");
System.out.println(a.s1);
//System.out.println(a.s2);
//System.out.println(a.s3);
//System.out.println(a.s4); //private修饰的成员在其它类中不能访问
}
}
class BTest{
public static void main(String args[]){
B b = new B();
b.print();
}
}