一个JAVA文件只能有一个public 类,该类有什么特别吗?
比如说 Student.java 种有 public class Student{...};和class Teacher{......};
则Student类和Teacher类地位有什么不同吗?
比如说 Student.java 种有 public class Student{...};和class Teacher{......};
则Student类和Teacher类地位有什么不同吗?
任何访问修饰符都不带的情况访问权限要受到一定的限制,好像在不同包中不能被继承!
忘记了!
Teacher类不加public 默认为private 只有所声明的包写的类可见。
而 如果这是Teacher在别的包中 Student 类要访问它 如:Student 在pg1 包中 Teacher在pg2包中 在Student 中 import pg2.Teacher;就会提示pg2中的Teacher类不是公有的。如果两个类 public class Student 和public class Teacher
放置于pg2中的Teacher 类将可以被Student 类所引入。
如果两个类是并列的,那第二个类修饰词只有abstract,final或者不写,public和private都是不允许的
如果Teacher类是Student类的内部类,那就可以加修饰词private。
定义的Public类的名字即是该程序生成的.class文件的名字.
没有标示public的类为默认类,允许在同类和同包下被访问,推荐不要使用默认类.
public √ √ √ √
protected √ √ √ ×
默认 √ √ × ×
private √ × × ×
类 A,B 在不同包内,B 类具有包内访问级别(无访问修饰符 public),那么在 A 类的任何方法内包括静态块和初始化块都不能使用类 A,包括实例化类 A、声明类 A 的对象变量、调用类 A 的静态方法、访问类 A 的常量(public static final 修饰的)等,而无论这些成员是什么访问级别。