Java学習の要約:17

パッケージとアクセス制御のアクセス許可

パッケージ定義

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

49件の元の記事が公開された 25件の賞賛 1530回の訪問

おすすめ

転載: blog.csdn.net/weixin_45784666/article/details/104381832