クラスのメンバーへのアクセスを制御する
private: 自分のクラス内でのみ使用できます
public: どこでも使用できます
protected: package-private は同じパッケージの下で使用できます。他のパッケージから継承するサブクラスでも使用できます。
no-modifier: package-private は同じパッケージ内でのみ使用できます (同じパッケージの場合、protected と同じです)。他のパッケージでは機能しません。
オーバーライドとオーバーロード オーバーライド
オーバーライド: は、関数本体の変更を除き、サブクラスと親クラスの間で使用され、その他は変更されません。また、サブクラスのオーバーライドのアクセス コントローラーを親クラスより上位にすることはできません。
オーバーロード: 同じ型のメソッド間で行われます。 パラメータ リストは変更する必要があり、戻り値の型は変更される場合と変更されない場合があります。
ポリモーフィズム
は、大まかに次のように理解できます
ParentClass obj = new ChindClass() //A
ChildClass obj2 = new ChildClass(); ; //
ChildClass OBJ3 = New Parentclass (); // C エラーの例
この設定がある理由を皆さんに教えてください。 A の場合、ParentClass を宣言すると、ParentClass の変数とメソッド用にメモリ内に別の部屋を開くことと同じになり、ChildClass の変数とメソッドの数は次のようになります。 ParentClass の数以上であるため、以前にオープンした部屋はすべて満室でした。そのため、ホテルは非常に満足しており、予約した数だけ宿泊しています。 Cの場合、ChildClassの変数とメソッドを使用して部屋を予約しましたが、実際に来る人の数はParentClassからのものであり、その数はChildParentの人数よりも明らかに少ないため、予約が満足できない場合はホテルが予約します。非常に怒ってあなたにエラーを報告するでしょう。
オーバーライドとオーバーロードはポリモーフィズムの重要な形式です。
抽象クラス 抽象クラス
抽象クラスは、抽象関数を含めることも含めないこともでき、抽象関数はabstractキーワードで変更する必要があります。
クラスに抽象関数が含まれている限り、このクラスはabstractキーワードで変更する必要があります。そのサブクラスでも同様です。
Interface インターフェイス
インターフェイスは、抽象クラスよりもさらに極端なものです。その内のすべてのメソッドは抽象メソッドである必要があり、int などのすべての定数は static かつ Final である必要があります。
implement すべての抽象メソッドを抽象と同様に実装する必要があります。
Javaの高度な知識
汎用クラス
それは簡単で、以下の例から明らかです。たとえば、arraylist や hashmap はすべて汎用です。
package Generic; //generic class public class GenericMethodTest< A,Z > { //generic variable public A a; public void setA( A a) { this.a = a; } //generic methods public A getA () { return this.a; } public void printArray ( Z[] inArray) { for ( Z temp : inArray) { System.out.println(temp); } } public static < B > void printArray_2 (B[] inArray) { for (B temp : inArray) { System.out.println(temp); } } }
package Implement; import Generic.GenericMethodTest; public class a{ public static void main (String[] args) { GenericMethodTest<Integer,String> gm = new GenericMethodTest<Integer,String>() ; gm.setA(10); String[] ss = {"aaa", "bbb", "ccc"}; Double [] bb = {1.0, 2.0, 3.0}; gm.printArray(ss); gm.printArray_2(ss); gm.printArray_2(bb); } }
シリアル化
シリアル化とは、単に既存のインスタンス化されたオブジェクトをバイト配列に変換するテクノロジーまたはプロセスです。メリットもたくさんありますので、ぜひご覧ください。
http://stackoverflow.com/questions/2232759/what-is-the-Purpose-of-serialization-in-java
簡単なシリアル化は、次のコードに従って学習できます。
注: シリアル化したくない一部の領域については、キーワード transient を使用して変更できます。
りー
以上がJava オブジェクト指向の基礎と高度な知識のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。