Javaのリバイド関数、Javaの多モードおよびそれに類似した、iocなどのモードにも同様の原理があることに注目してください。
Java代
パブリック クラス テスト {
/**
* @param 引数
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド スタブ
new Test().doExecute(new CallBack(){
public voidexecute() {
System.out.println("正在行....");
}
});
}
private void doExecute(CallBack callBack) {
System.out.println("回调前....");
callBack.execute();
System.out.println("回调後....");
}
}
パブリック クラス テスト {
/**
* @param 引数
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド スタブ
new Test().doExecute(new CallBack(){
public voidexecute() {
System.out.println("正在行....");
}
});
}
private void doExecute(CallBack callBack) {
System.out.println("回调前....");
callBack.execute();
System.out.println("回调後....");
出力結果
:
Java代
回调前....
正在行....
回调後....
回调前....
正在行....
戻って....ここで十分な体は、私が使用するのではなく、私を
使用するのではありません。
これらの地域で使用できますか?
1、有名なiocの事処理はそのようなものであり、各方法の事処理はすべて同じであり、都はこれらの最初の事、用法包住など、したがって、他のことを無視して実行されるだけです保存する、削除する、確認するなど、方法が異なります。
図 2 では、書き込みタイプを減らすことができ、1 つのインターフェイスに非常に多くの実装タイプがあり、ここで有名な DatabaseObjectFactory が非公開のメソッドになります。
Java代
インターフェース DatabaseObjectFactory {
/**
* id に関連付けられたオブジェクトを返すか、次の場合は null を返します。
* オブジェクトをロードできませんでした。
*
* @param id ロードするオブジェクトの ID。
* @id で指定されたオブジェクトを返すか、それができなかった場合は null
* ロードされます。
*/
パブリックオブジェクトloadObject(長いID);
インターフェース
DatabaseObjectFactory {
/**
* id に関連付けられたオブジェクトを返すか、次の場合は null を返します。
* オブジェクトをロードできませんでした。
*
* @param id ロードするオブジェクトの ID。
* @id で指定されたオブジェクトを返すか、それができなかった場合は null
* ロードされます。
*/
パブリックオブジェクトloadObject(長いID);
}
外部調整に基づいて、任意の望ましいオブジェクトが生成されます。
JavaScript の場所を参照してください:
Js代
関数テスト()
{
var self=this;
this.func1=関数()
{
self.test2(function(){alert('正在行');})
}
}
Test.prototype.test2=関数(関数)
{
alert("回调前做これら东西");
if(関数)
関数();
alert("回调後做これら东西");
関数
Test()
{
var self=this;
this.func1=関数()
{
self.test2(function(){alert('正在行');})
}
Test.prototype.test2
=関数(関数)
{
alert("回调前做これら东西");
if(関数)
関数();
alert("回调後做これら东西");
}
その後、html の面にあります:
Html 番号
<html>
<頭>
<script type=text/javascript src="1.js">
</script>
<スクリプト>
新しい Test().func1();
</script>
</head>
<本文>
</body>
</html>
<html>
<頭>
<script type=text/javascript src="1.js">
</script>
<スクリプト>
新しい Test().func1();
</script>
</head>
<本文>
</body>
</html>
java と javascript の両方に違いはありません
。