包(package)
パッケージ->フォルダ
パッケージの役割:
-
クラス名、パッケージ名(クラスのアドレス)+クラス名==完全なクラス名(一意のアドレス名)の重複を避けてください
-
さまざまな機能に従ってクラスを管理する
日数に応じてクラス名を管理します:day1、day2
プロジェクトには多くのクラスがあり、データベースと対話するクラスもあれば、フロントエンドと対話するクラスもあります。
-
アクセス制御
/*
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();
}
}