パッケージとアクセス制御のアクセス許可
パッケージ定義
Javaでは、packageキーワードを使用してパッケージを定義します。このステートメントは、xxx.javaファイルの最初の行に記述する必要があります。
例:定義パッケージ
package com.study.Demo; //定义程序所在包,此语句必须放在首行
public class Hello {
public static void main(String args[]){
System.out.println("Hello World");
}
}
パッケージのインポート
例:クラスを定義する
package com.study.A;
public class Message {
public void print(){
System.out.println("666");
}
}
例:別のクラスを定義します。このクラスは以前に定義されたクラスを使用する必要があります
package com.study.test;
import com.study.A.Message; //导入所需要的类
public class TestMessage {
public static void main(String args[]){
Message msg=new Message(); //实例化对象
msg.print(); //调用方法
}
}
//结果
//666
例:パッケージ内の複数のクラスをインポートする
package com.study.test;
import com.study.A.*; //自动导入指定包中所需的类
public class TestMessage {
public static void main(String args[]){
Message msg=new Message();
msg.print();
}
}
異なるパッケージで同じ名前の競合がある場合は、クラスを使用するときにパッケージ名を追加する必要があります。
など:
com.study.test.Message msg=new com.study.A.Message();
システム共通パッケージ
アクセス制御権限
上記の表では、
privateは1つのクラスで
のみアクセスでき、デフォルトは1つのパッケージでのみアクセスでき、
protectedは異なるパッケージのサブクラスでアクセスでき、
publicはすべてであることを簡単に理解できます。
初心者の場合、アクセス権の次の2つの基本原則を理解してください。
属性宣言は主にプライベート宣言を使用し、
メソッド宣言は主にパブリック宣言を使用します
例:
package com.study.A;
public class A {
protected String info="Hello"; //使用protected权限定义
}
package com.study.Demo;
import com.study.A.A;
public class B extends A { //是A不同包的类
public void print(){
System.out.println("A类的info="+super.info); //直接访问父类中的protected属性
}
}
package com.study.Demo;
import com.study.Demo.B;
public class Test {
public static void main(String args[]){
new B().print();
}
}
//结果
//A类的info=Hello
命名規則(私はあまり注意していません)
クラス名:最初の各単語の大文字化、例:TestDemo;
変数名:最初の単語の最初の文字の大文字化、その後の各単語の最初の文字の大文字化、例:studetName;
メソッド名:最初の単語の最初の文字小文字、その後の各単語の最初の文字を大文字にします。例:printInfo();
定数名:各文字を大文字にします。例:FLAG;
パッケージ名:すべての文字を小文字にします。例:com.study