1.类成员的访问权限控制

Java中类成员的访问权限分为四类:private,无(默认情况下),protected和public。其权限控制如下表所示:

修饰词

本类

同一个包的类

继承类

其他类

private

×

×

×

无(默认)

×

×

protected

×

public

其中,类成员在默认情况下没有任何修饰词,这样的成员具有“包访问权”,即位于同一个包中的类对其有访问权;而protected为“继承访问权”,即该类的子类对其具有访问权(同时,位于同一个包中的类也对其具有访问权)。

2.类自身的访问权限控制

对于java类自身(除了内部类外,因为内部类也是类的成员故有上述四种权限修饰),其访问权限仅有两种:public和“无”(即包访问权),而没有private和protected。如果你 不希望其他任何人对该类拥有访问权,你可以把所有的构造器都指定为private,从而阻止任何人创建该类的对象。但是可以通过该类的静态方法创建对象,如下面的例子:

class Soup {
// private Constructor!
private Soup() {}
// Allow creation via static method:
public static Soup makeSoup() {
return new Soup();
}
}

注意:

1、如果一个.java源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同。

2、如果源文件中没有public类,那么源文件的名字可以任意取。这样编译是没问题的,运行时选择主类(包含main方法)运行就可以。

3、main()方法不是必须要放在public类中才能运行程序。

本篇博文参考:Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)

05-02 17:51