JavaラーニングDay11-パッケージおよびアクセス修飾子

包(package)

パッケージ->フォルダ

パッケージの役割:

  1. クラス名、パッケージ名(クラスのアドレス)+クラス名==完全なクラス名(一意のアドレス名)の重複を避けてください

  2. さまざまな機能に従ってクラスを管理する

    日数に応じてクラス名を管理します:day1、day2

    プロジェクトには多くのクラスがあり、データベースと対話するクラスもあれば、フロントエンドと対話するクラスもあります。

  3. アクセス制御

/*
import 类的地址
在一个类中使用另一个包中的类,需通过import关键字,将类和地址导入
 */
import java.util.Date;
//import java.sql.Date;不能导入相同的类名

//java.lang中的类不需要导入

public class Car {
    
    
    /*
   全包名= 包名 + 类名的简称
    */
    public static void main(String[] args) {
    
    
        Date date = new Date();
        java.sql.Date  date1= new java.sql.Date(1);//如果需要导入相同的类名只能牺牲一个,写出类的全路径
    }
}

アクセス修飾子

publicパブリック権限修飾子は、クラス、メソッド、および属性を変更します

保護された保護許可修飾子は、属性とメソッドを変更します

defaultデフォルトの権限修飾子は、クラス、属性、およびメソッドを変更します

プライベートプライベートパーミッション修飾子は、属性とメソッドを変更します

ここに画像の説明を挿入

package javaopp.Day03;
public class Demo {
    
    

    public int pub;
    protected int pro;
    int def;
    private int pri;

    /*
        被不同访问权限修饰符修饰的成员变量
     */
    public void pub() {
    
    
    }

    protected void pro() {
    
    
    }

    void def() {
    
    
    }

    private void pri() {
    
    
    }

    /*
         在自己的类中,任何访问权限修饰符,修饰的成员变量都可以被访问
     */
    public static void main(String[] args) {
    
    
        Demo d = new Demo();
        System.out.println(d.pub);
        d.pub();

        System.out.println(d.pro);
        d.pro();

        System.out.println(d.def);
        d.def();

        System.out.println(d.pri);
        d.pri();
    }
}

同じパッケージ内の異なるクラスは、public defaultprotectedにアクセスできます

package javaopp.Day03;
public class Demo1 {
    
    
    /*
        同一个包中的不同类中可以访问public default protected
     */
    public static void main(String[] args) {
    
    
        Demo d = new Demo();
        System.out.println(d.pub);
        d.pub();

        System.out.println(d.def);
        d.def();

        System.out.println(d.pro);
        d.pro();

        /*
        同一包中的不同类中不能访问private
         */
        /*System.out.println(d.pri);
        d.pri();*/
    }
}

異なるパッケージの異なるサブクラスは、パブリックにのみアクセスできます

package javaopp.Day004;

import javaopp.Day03.Demo;

/*
    不同包的不同子类只能访问public
 */
public class Demo2 {
    
    
    public static void main(String[] args) {
    
    
        Demo d = new Demo();
        System.out.println(d.pub);
        d.pub();

    }
}

異なるパッケージの異なるサブクラスは、親クラスの保護されたメンバーにアクセスできます

package javaopp.Day004;

import javaopp.Day03.Demo;

/*
    不同包的不同子类中可以访问父类中的受保护的成员
    使用extends继承
 */
public class Demo3 extends Demo {
    
    

    public static void main(String[] args) {
    
    
        Demo3 d3 = new Demo3();
        System.out.println(d3.pub);
        d3.pub();

        System.out.println(d3.pro);
        d3.pro();

    }
}

おすすめ

転載: blog.csdn.net/XiaoFanMi/article/details/110235186