保護されました
ドメインを変更するために使用され、ドメインへのアクセスは、代表である:パッケージまたは異なるパッケージの権利ではなく、サブクラスです。
定数の最終修正
限り算出し定数を式に代入するように、コンパイル時に、計算が実行されているの負担を軽減するために行われます。(基本的なデータタイプ計算式作業)
参照の最終修正
そこダウンこの場所を言う必要がありますが、オブジェクトへの参照を指摘し、一度確立し、もはや別のオブジェクトを指すように変更されないであろう。しかし、オブジェクト自体の性質は、自由に変更することができます。
ブランク最終
それは、最終的に、しかし、割り当てられていないドメインとして宣言することが、最終的な空白と呼ばれる。しかし、使用する前に、それが割り当てられている必要があります。
これは、割り当ての柔軟性を可能にするが、それは、そのプロパティを変更することはできません維持します。
最終的なパラメータ
これは、メソッドのパラメータである最終修正である。同じ最終との参照は、あなたが他のオブジェクトを指すように変更することはできません。
最後の方法
修正された方法でのみ継承することができますが、上書きすることはできません。最終的なアプローチに変更され、実際には、あなたは効率を高めることができる前にそれを行うため、事前バインディングを使用することです。
finalクラス
最終的なクラス継承することができず、最終的なクラスメソッド、暗黙のうちに最終セットが、ドメインであるが、最終ではない、彼らの要望に応じて設定することができます。
同じ名前を持つプライベートサブ親クラスのメソッド
パブリッククラスのテスト{
パブリック静的無効メイン(文字列[] args){
A =新しいB();
a.haha(); ; //エラー
a.hehe(); ; // OK
}
}
クラスA {
プライベート無効笑(){
System.out.println(「A」)。
}
公共ボイド笑(){
System.out.println( "A")。
}
}
クラスBが延びます{
プライベート無効笑(){
System.out.println(「B」)。
}
}
それらの間には関係がありません。ただそのために同じ名前が起こり、彼らは行動が発生することができない多型であり、
カバレッジおよび過渡アップアプローチ、方法は、親クラスのサブクラスであることができるメソッドを継承するので、それらの間に遷移が上方に存在しない、引数を覆う、いかなる多形性現象が存在しません。
ジャワの事前バインディング
我々はすべて知っているように、Javaは、遅延バインディングを使用することです。
しかし、実際には、Javaでいくつかの場所で、それはまた、事前バインディングを使用することができ、例えば:静的メソッド、最終的方法;両方の方法は、早期にバインドされています。
民間最終メソッドは暗黙的であるので、そのため、民間の方法は、早期にああバインドされています。
コンストラクタによってそれは、事前バインディングである、なぜなら実際には、コンストラクタが暗黙の静的メソッドであること。
免疫多型
静的フィールドとメソッドは、多型の挙動を生成されません。
ドメインのいずれかの操作はコンパイル時に行われ、オブジェクトはそのため親クラスの親クラスによって参照されており、この時点でコンパイラは、ない実現可能な多型が存在しません。
ポリモーフィックな理由静的メソッドがある:静的メソッドは、事前バインディングされ、その後、コンパイラは、それは単純で、親クラスへの参照点はナイーブ、親クラスのオブジェクトであります!
彼らにとって、左コンパイラの外観は、実行するために左に見えます。
クラスA {
公共int型のA = 1;
プライベート無効笑(){
System.out.println( "A")。
} 無錫どの病院婦人科良いhttp://www.bhnfk.com/
公共ボイド笑(){
System.out.println( "A")。
}
パブリック静的ボイドAA(){
System.out.println( "AA");
}
}
クラスBが延びます{
公共int型のA = 2;
プライベート無効笑(){
System.out.println(「B」)。
}
パブリック静的ボイドAA(){
System.out.println( "BB");
}
}
パブリッククラスのテスト{
パブリック静的無効メイン(文字列[] args){
A =新しいB();
System.out.println(AA)。
a.aa();
}
}
//出力:1 AA;親クラスが出力されます。