インポートのjava -----静的およびキーワード、ブロック(ブロック)、カプセル化、継承

Staticキーワード静的

  また、クラス変数として知られている静的変数と呼ばれる変数を、修正static修飾子は、もあり、彼は修飾のメンバーは、ローカル変数を変更することはできませんでした。修飾されたメソッドが呼び出される静的メソッドは、クラスメソッドと呼ばれます。

  メソッドを呼び出します。

  • クラス名静的変数名
  • クラス名。staticメソッド名
  • 静的変数名をオブジェクト
  • オブジェクト。staticメソッド名

注:ロード時に静的コンテンツはメンバーの内容は、オブジェクトに属するクラスに属し、オブジェクトは次のことをクラスの静的変数の使用が最初にロードされ、現在のクラス内で一意で、すべてのオブジェクトが共有リソースです、静的コンテンツには、静的コンテンツは直接非静的コンテンツで、あなたは直接の静的コンテンツを使用することができ、非静的なコンテンツを使用しないで、直接使用することができ、あなたが直接、非静的コンテンツを使用することができます。

ビルディングブロック

ブロックブロックは:{}の範囲であります

  • {} - >プロセス|文ブロック - 部分ブロック|一般的なステートメントブロックの実行タイミングは:実行される方法に従っ
  • {} - >アウタークラスのメソッド - ビルディングブロック実行タイミング:新しいオブジェクト
  • ときに最初の負荷カテゴリ:静的ブロック実行タイミング静的{} - - >クラス外メソッド
  • この呼び出し他のコンストラクタがある場合、これは別のコンストラクタを呼び出すための最初の行に存在しなければならないため、コンパイル時にビルディングブロックは、最初に他のコンストラクタを呼び出す必要があり、コードのコンストラクタステートメントブロックの上に配置されます。
  • 注:オブジェクトは、コンストラクタ一歩を呼び出し、ビルディングブロックは、シーケンス内のビルディングブロックの複数の秋から、あれば、コンストラクタの前に実行されるときにビルディングブロックが作成されます。
  • 静的ブロックは、クラスが最初にロードされたときに一度だけ実行されますが、静的なコンテンツです。

実行順序:静的ブロックビルディングブロック-main- -コンストラクタ

ガーベジコレクション

  • System.gc()ガベージコレクションのガベージコレクションの通知
  • GCガベージ最初のステップコールは()メソッドを終了場合()ファイナライズ
  • 両方の場合において、我々は、finalize()メソッドを呼び出しません
    。1.匿名オブジェクト
    ない基準状態2オブジェクト
  • プログラマは、ガベージコレクションを制御することはできません
public class GCDemo {
	public static void main(String[] args) {
		//1)匿名对象
		new GCDemo();
		System.gc();
		
		//2.对象无引用
		GCDemo demo1=new GCDemo();
		GCDemo demo2=demo1;		//此句如果不注释,System.gc();不回收,因为还有引用。
		demo1=null;
		System.gc();
	}
	
	@Override
	protected void finalize() throws Throwable {
		System.out.println("over....");
	}
}

importキーワード

importキーワードの役割は、パッケージをインポートすることです。
注意:JDK同じパッケージ、同じクラスを定義しないでください、それ以外の場合は、あなた方の多くは、問題は不可解だと思う原因となります。

  • インポートクラスが使用する必要がありません
    言語パック(java.langで)でクラスを。
    2、同じパッケージのクラスの下で。
  • 静的インポート:
    静的クラスのインポートに静的コンテンツ...
  • ファジーマッチ
    ファジーマッチ現在のパッケージ内のすべてのクラス。
    遅くない、コンパイル速度が低下します。

パッケージ

  • パッケージ:オブジェクト指向の三つの特徴の一つ
    パッケージ:外隠さ内部実装の詳細、一般的なアクセス方法を提供します。方法は、クラスがパッケージに反映されています。
  • プライベートパッケージは何???ある
    プライベートパッケージは確かにあります
  • パッケージングは、必ずしも唯一の民間ではない
    方法で、クラス...パッケージに反映されています

例:人のクラス定義

  • セキュリティ上のリスクは:外の財産の安全を確保するために、メンバーのプロパティを使用することはできませんしたくありません。
  • プライベートプライベートメンバー修飾子は、ローカル変数を変更することはできません。

  • プライベートコンテンツは、このクラスで使用することができます。

  • プライベートコンテンツのためのパブリックアクセス、セッターセッター、ゲッターアクセサを提供します。

  • 私有財産、まだ???本当に安全なパブリックアクセス方法
    1は、プロパティを直接操作することはできません。
    2.解析ロジック。

  • 利点:
    A:パブリックアクセスを提供し、実装の詳細を隠します。
    B:コードの再利用性を向上させます。
    C:セキュリティコードを向上させます。

    JavaBeanの種類: - - >エンティティクラス|テンプレートクラス|ラッパークラス
    のJavaBean符号化ルール:
    (1)それは外部アクセスできるようにたjavaBeanは、パブリッククラスとして宣言されなければならない;
    (2)少なくとも一つの基準コンストラクタ不在の存在下でのJavaBean。
    (3)全てのクラス属性、すなわち、カプセル化されなければならない:プライベート宣言を使用する;
    (4)共通のパッケージセッタープライベート属性、ゲッターメソッドを提供します。

受け継ぎます

継承:父親を継承

  • なぜ継承を使うのか?
    クラスレベルの再利用を実現するために
  • 継承を使用する方法:
    サブクラスがスーパークラスを拡張
  • 特徴:
      サブクラスは親クラスを継承1.たら、それは親クラスの内容を占拠しています。
      2.クラスが複数のサブクラスを持つことができ、クラスは、唯一の親、単一継承メカニズム、より実装を有することができます。
      3.サブクラスは親クラス+拡張の続きです。
  • 親|基本クラス|スーパー: - >継承されたクラス。
  • サブクラス|派生クラス: - >クラスの他のクラスを継承します。

継承の利点:

  • コードの再利用性を向上させます。
  • 単一継承の利点:使いやすいです。
  • 単一継承の短所:ポスト維持するのは容易ではありません。
  • オブジェクト指向設計の原則の一つ:開閉の原理は、拡張のためのオープン、修正のため閉鎖しました。

おすすめ

転載: blog.csdn.net/qq_41899248/article/details/90733713