表示されている相違点は、Java言語と関連があり、実行される実際の操作とはあまり関係がありません。あなたが特定のオブジェクトを指定せずにメソッドを呼び出した場合
、Java言語を使用すると、this
オブジェクトのメソッドを呼び出している、またはオブジェクトが、現在で働いていることを前提としています。
public class MyClass {
public void doThis() {
}
public void doThat() {
// the following line will call this.doThis()
doThis();
// this is exactly the same as the line above, except it is explicitly stated
this.doThis();
}
}
時にはメソッド願いを別のオブジェクトのメソッドを呼び出すその場合、あなたは、変数を持っている「その他」のオブジェクトへの参照を保持し、あなたがそのオブジェクトのメソッドを呼び出すときに、名前の参照を逆参照、1例は以下のようになりますする必要があります。
public Class MyOtherClass {
public void doTheOtherThing(MyClass myClass) {
myClass.doThis();
}
}
別の例をスイングのプログラミングを別の方法で行ういくつかの例は、他の例よりもオブジェクト指向である傾向があります。たとえば、「特別な」ボタンが必要な場合、ボタンのサブクラスをサブクラス内で適切に設定する例と、サブクラス化されていないボタンを作成して「JButton」クラスの外部から設定する例があります。
良いオブジェクト指向プログラミングは、外部構成に対する解決策としてサブクラス化を優先します。これは、ボタンを構成するコードが新しいボタンサブクラスの一部となるため、プログラムを介して構造的に異なる場所にButtonを移動すると、設定コードが誤ってボタンから分離されることがないからです。時には、オブジェクト指向の構造を分析することはコストがかかることがあります。その場合、オブジェクトに外部的な影響が多いコードがリリースされる可能性があります。
[こちら](http://docs.oracle.com/javase/tutorial/uiswing/) – mre
可能な複製http://stackoverflow.com/questions/2432839/what-is-the-rellation-between -contentpane-and-jpanel – Andy