JAvaオブジェクト向け(一)

5803 ワード


 
オブジェクト向けはプロセス向けのプログラミング思想であり,物事の属性や機能を記述し,抽象的にパッケージを抽出する過程である.オブジェクト向けは局所的にプロセス向けであり,以前に学習した機能抽出をメソッドに書き込むことはプロセスの抽出であり,オブジェクト向けは,内部の実装の詳細を具体的に指導することなく,メソッドを1つのオブジェクトにカプセル化してその機能を持たせ,その機能を使用する必要がある場合にその機能を備えたオブジェクトを直接呼び出す.
オブジェクト向けはプロセス向けに対して書くことを簡略化し,コードの多重性を高め,機能の実現を論理的に簡単にする.
オブジェクト向けプロセスとオブジェクト向けの違いプロセス向けに強調すること機能行為オブジェクト向けは機能をオブジェクトにカプセル化し,機能を備えたオブジェクトを強調する.オブジェクト向けは局所的にプロシージャ向けであり,以前に学習した機能抽出をメソッドに書き込むことはプロセスの抽出であり,オブジェクト向けはメソッドを1つのオブジェクトにカプセル化し,その機能を持たせることである.
オブジェクト数の決定;名詞抽出法
   
class  {
      ( )
         . 
}
class  {
     (     )
}    

 
オブジェクト向けの3つの特徴;カプセル化、継承、マルチステート以降の開発のプロセスは、基本的にオブジェクトを探し、オブジェクトを作成し、オブジェクトを使用して、オブジェクト間の関係を維持します.クラスとオブジェクトの関係、クラスは現実生活の中の物事に対する抽象的な記述であり、オブジェクトはこれらの物事のインスタンスであり、javaにマッピングされ、記述はclass定義のクラスである.具体的なオブジェクトはjavaに対応してスタックメモリにnewでエンティティを構築することです.類は自動車の設計図面のようなもので、生産された自動車は対象であり、物事を記述することは物事の属性と行為を記述することである.属性はクラス内の変数に対応し、動作はクラス内の関数メソッドに対応するため、定義クラスは属性と動作、これらのクラスのメンバー、メンバー変数、メンバーメソッドを定義します.オブジェクトの作成フォーマットクラス名オブジェクト名=newクラス名();クラスのインスタンス化、このときメモリスタックにオブジェクトインスタンスが生成され、cはクラスタイプ変数であり、スタックメモリにオブジェクトを指し、オブジェクトメンバーのフォーマットオブジェクトを使用する.オブジェクトメンバー
ここから,エントリとして主関数が1つしかない理由が分かるが,他のオブジェクトのデータをクラス形式でカプセル化すれば,主関数で呼び出すだけでよい.
メンバー変数とローカル変数の区別メンバー変数はクラス全体に作用し、ローカル変数は関数または文に作用します.メモリ内の両方の位置も異なり、メンバー変数はオブジェクトの存在によってスタックメモリに存在し、ローカル変数はスタックメモリに存在します.
匿名オブジェクト匿名オブジェクトインスタンス化されたオブジェクトですが、クラスタイプ変数は名前付きではありません.スタックメモリにはスタックメモリ内のエンティティへの参照関係はありません.匿名オブジェクト文の実行が完了するたびに、使用しないため不定時メモリ回収が行われます.匿名オブジェクトの使用方法の1つ.オブジェクトのメソッドが1回しか呼び出されない場合は、匿名のオブジェクトで完了することができ、比較的簡略化されます.オブジェクトの複数のメンバーを呼び出す場合は、そのオブジェクトに名前を付ける必要があります.匿名オブジェクトの使い方甥:匿名オブジェクトを実際のパラメータとして渡すことができます.メモリの最適化を容易にします.
実パラメータとパラメータは、関数の呼び出し時にスタックメモリで行われ、1つの関数が終了するとメモリが回収されます.
カプセル化:オブジェクトのプロパティと実装の詳細を非表示にし、公開アクセスのみを外部に提供します.メリット:変化を分離します.使いやすい.多重性を向上させ、セキュリティを向上させる.パッケージの原則:外部に提供する必要のない内容を隠す.プロパティをすべて非表示にし、共通のメソッドでアクセスします.関数は、コード内の最小の機能ユニット、すなわち最小のパッケージです.
private:プライベート、権限修飾子.クラス内のメンバー(メンバー変数、メンバーメソッド)を修飾するために使用されます.プライベートはこのクラスでのみアクセスできます.アクセスが必要な場合は、アクセスのメソッドを設定する必要があります.プライベートメンバー変数は通常、2つのアクセスメソッド、setまたはgetに対応します.
privateはパッケージ非表示の最小権限です.
コンストラクション関数物事を分析するとき、その物事が存在するといくつかの属性や行為を備えている場合は、コンストラクション関数で定義する必要があります.オブジェクトが作成されると、対応するコンストラクション関数が呼び出されます.クラスにコンストラクション関数が定義されていない場合、システムはクラスにデフォルトで空のパラメータのコンストラクション関数を追加します.オブジェクトの初期化に使用されます.クラスでコンストラクション関数をカスタマイズした場合、システムは追加されません.カスタムコンストラクション関数に空のパラメータコンストラクション関数がない場合は、エラーであり、空のパラメータを持つコンストラクション関数が必要です.コンストラクション関数は一般関数と異なり、コンストラクション関数はオブジェクトが確立されると自動的に呼び出され、一般的な方法はオブジェクト呼び出しが必要な場合に実行され、コンストラクション関数は1回しか実行されず、一般関数は複数回呼び出されます.フィーチャー1は、関数名がクラス名と同じ2で、戻り値タイプ3を定義する必要はありません.return文を書くことはできません.オブジェクトを初期化するために使用できます.
コンストラクションコードブロックの役割はコンストラクション関数に似ていますが、実行順序はコンストラクション関数よりも優先され、コンストラクションコードブロックはすべてのオブジェクトを統一的に初期化し、コンストラクション関数は対応するパラメータのオブジェクトのみを初期化します.共通の初期化を定義します.
このキーワードthisキーワードは、ローカル変数とメンバー変数の同名を区別するために使用されます.
person(String name){
  this.name=name;
}

 
thisは、このクラスの現在のオブジェクトの参照を指します.すなわち、現在のオブジェクト名、クラスタイプ変数です.クラス内のメンバーの呼び出しはすべてオブジェクトによって行われるので、メモリマップに基づいてコードロジックが発生する順序によってより容易に理解できます.実は違いを区別しなくても、メンバーが呼び出されたときにお金面が書かれていない場合は省略するのが一般的です.このメソッドを呼び出した人は、thisが誰を表しますか.コンストラクション関数の呼び出しでは、一般的な関数はコンストラクション関数を呼び出すことはできません.this文呼び出しコンストラクション関数は、最初の文の位置にのみ配置できます.
Person(){}
Person(String name){
  this();//            this   。
  this.name=name;
}
Person(String name,int age){
  this(name);//              name   ,     。
  this.age=age;//
}

 
staticキーワード;静的で、クラス内のメンバーを修飾するために使用され、staticで修飾されたメンバーメモリはスタックメモリにありません.メモリの他の領域であるメソッド領域を抽出します(共有領域、データ領域、クラス内の共有メンバーを格納するために使用される.)は、メモリを最適化するためにオブジェクトによって共有される.また、staticによって修飾されたメンバーは、オブジェクトによって呼び出されるだけでなく、直接クラス名によって呼び出され、クラス名をフォーマットすることもできる.静的メンバーであるため、staticによって修飾されたメンバーは、すべてのオブジェクトの共通性であるべきである.
静的staticの特徴1は,クラスのロードに伴って2がロードされ,オブジェクトの存在3よりも優先され,すべてのオブジェクトによって4が共有され,直接クラス名によって呼び出される.
静的使用上の注意1静的メソッドでは静的メンバーにのみアクセスできます.静的でない場合は静的メンバーにもアクセスできます.静的でない場合は、2静的メソッドではthisを定義できません.superキーワードは、静的がオブジェクトよりも優先されるためです.したがって,静的手法ではthisは現れず,3主関数は静的である.プライマリ関数の呼び出しは、直接呼び出されるのではなく、クラス、またはオブジェクトによって呼び出されます.プライマリ関数クラスのメンバーアクセスは静的のみにアクセスできます.利:オブジェクトの共有データに対して単独の空間の記憶を行って、空間を節約して、すべてのオブジェクトの中ですべて1部を記憶する必要はありません.弊害:ライフサイクルが長すぎて、アクセスに限界があります.
main主関数主関数は特殊な関数であり、プログラムの入口としてjvmによってpublicを呼び出され、アクセス権限が最高級staticであり、メモリにクラスのロードに伴ってロードされるので、直接voidを呼び出すことができ、主関数には具体的な戻り値mainがなく、関鍵字ではないが、特殊な単語であり、jvmによってパラメータを識別することができる.文字列要素の配列主関数のフォーマットは固定されています.JVM識別public static void main(String[]args){}argsはargumentsの略で、この変数名は勝手に書けます.ただ慣れたものはすべてこのように書きます.JVMが主関数を呼び出すときにパラメータがデフォルトでnew String[0];長さが0の文字列配列に入ります.このパラメータは変更できます.
静的変数を定義するときに静的変数を使用します.すべてのオブジェクトに共有データがある場合に静的関数を定義します.メソッドの内部に非静的データ(オブジェクト固有のデータ)にアクセスしていない場合は、静的メソッドとして定義できます.すなわち、オブジェクトを使用する必要がない場合
静的アプリケーションは、各アプリケーションに共通の機能があり、これらの機能を抽出し、独立してカプセル化して多重化することができます.
静的コードブロックの特徴は、クラスのロードに伴って実行されるのは1回のみであり、構築コードブロックとの違いも実行優先度の違いであり、クラスの初期化に用いられる.