| #✓ |
|
?????? (パブリック) public: 変更するメンバー、メソッド、またはクラスにはどこからでもアクセスできます。
??????(継承) 保護: 裏面を参照、
#??????(デフォルト) デフォルト: 同じパッケージ内のアクセス ???? ( Private) private: 現在のクラスでのみアクセスできます public class TestDemo01 {
int year;
//默认权限,可以省略default
private int month;
//私有权限,只能在同一个类中访问
public int day;
//公有权限,那里都能访问
}
以下にデモを示します最初のクラス TestDemo01
#2 つのクラスクラス TestDemo02
月が見つからないことがわかりました。これは、アクセス許可を private と書いて非公開にしたためです。クラスにアクセスできません。これはカプセル化の実装であり、月は TestDemo01 でのみ使用できます。 インターフェイスのみを残し、詳細を表示しないためにカプセル化を実装します。 カプセル化されたインターフェイスをデモしましょう
If Itプライベートなメンバーが多いと言われていますが、この 2 つのインターフェースを 1 つずつ書く必要はなく、idea の機能を使えばすぐに書くことができます。カプセル化の要件を理解する 知っておくべきこと - パッケージ3.1 パッケージの概念を理解するパッケージの存在は、クラスをより適切に管理したり、複数のクラスを 1 つのグループにまとめたり、それらをグループ化したりするためです。ディレクトリ
パッケージは、クラス、インターフェイスなどのカプセル化メカニズムを具体化したものです。これは、クラスやインターフェイスなどを編成する良い方法です。
パッケージは、次の点でも非常に重要な役割を果たします。同じプロジェクト内で使用できます。 異なるパッケージ内にある限り、同じ名前のクラスが で許可されます。
#3.2 パッケージ内のクラスをインポートする
#エラーが報告される理由を見てみましょう
この問題を解決するには、特定のパッケージを指定する必要があります
package com.toabao.www;
import java.util.*;
import java.sql.*;
public class TestDemo03 {
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
System.out.println(Arrays.toString(array));
java.util.Date date = new java.util.Date();
java.sql.Date date1 = new java.sql.Date(12);
}
}
import staticを使用してパッケージ内の静的メソッドとフィールドをインポートしますimport static java.lang.Math.*;
public class TestDemo01 {
public static void main(String[] args) {
double x = 13;
double y = 14;
double result = sqrt(pow(x,2)+pow(y,2));
}
}
3.3パッケージ 最初に手順を確認してください。方法がわからない場合は、自分でパッケージを作成してみてください
注:1. パッケージが作成された後、ファイルの先頭に、そのファイルがどのパッケージに含まれているかを示す package ステートメントが必要です (アイデアにより自動的に追加されます)
2. パッケージの名前は通常、たとえば、ドメイン名の逆名です 3. コードが保存されている場所を見てみましょう。作成済み
#3.4 アクセス許可制御
同じパッケージ内の同じクラス
package Demo01;
public class Test01 {
int count = 10;
public void func(){
System.out.println(count);
}
}
同じパッケージ内の異なるクラスのアクセス
異なるパッケージ内のサブクラスのアクセス権限
前の数はデフォルト、つまりデフォルトです。異なるパッケージ内のサブクラスおよび非サブクラスにはアクセスできません
アクセスする必要がある場合は、アクセス権限をパブリックに変更できます。
#3.5 java の共通パッケージ
1. java.lang: システムでよく使用される基本クラス (String、Object)、JDK1.1 以降では作成する必要はなく、インポートされます。自動的に、
#2. java.lang.reflflect:java リフレクション プログラミング パッケージ3. java.net: ネットワーク プログラミング開発パッケージ
4. java.sql: サポート パッケージデータベース開発用
#5. java.util: java6. java.io:I/O プログラミング開発パッケージ が提供するツールパッケージです。