JAVAの修飾子:
1.ステータス修飾子:
-
静的
静态的意思,可以修饰成员变量,成员方法,不能修饰类,不能修饰构造方法 被修饰的变量,方法可以通过类名进行调用
- 最後の
最终的意思,可以修饰类,成员变量,成员方法,不能修饰构造方法
修饰的类不能被继承,被修饰的变量是常量,被修饰的方法不能被继承
2.抽象修飾子
- 概要
抽象的意思,不能修饰构造方法,不能修饰成员变量,可以修饰类,成员方法
被修饰的类不能被实例化,只能被继承,被修饰的成员方法在子类中必须被重写
3. 4つの権限修飾子:
- パブリック(公的機関)
可以修饰类,成员变量,成员方法,构造方法 被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符
- 保護された(保護された権限)
可以修饰成员变量,成员方法,构造方法,不能修饰类(外部类,内部类不考虑) 被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。 如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
- デフォルト(デフォルトの権限)
类,成员变量,成员方法,构造方法都能使用默认权限,即不写任何关键字 默认权限即同包权限,同包权限的元素只能在定义它们的类中使用,以及同包的类中被调用
注:デフォルトはキーワードではありません。「デフォルト」は、デフォルトで書き込まない、まったく書き込まないことを意味します。
- プライベート(プライベートパーミッション)
可以修饰成员变量,构造方法,成员方法,不能修饰类(外部类,内部类不考虑) 被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
注意:
1. 并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
2. 所有修饰符都可以修饰数据成员,方法成员,构造方法。
3. 为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,
成员变量,如果没有特殊需要,尽可能用private.
4. 修饰符修饰的是”被访问”的权限
修飾子 | 同じカテゴリ内 | 同じパッケージ内(サブクラスと無関係のクラス) | さまざまなパッケージ(サブクラス) | 異なるパッケージ(無関係のクラス) |
---|---|---|---|---|
公衆 | Y | Y | Y | Y |
保護 | Y | Y | Y | N |
デフォルト | Y | Y | N | N |
民間 | Y | N | N | N |