-1

クラスがこのクラスを継承し、これらのライフサイクルメソッドをオーバーライドするときに、ある順序で実行されるいくつかのメソッド (つまり、クラスのライフサイクルメソッド) を持つクラスを作成する方法は?

例えば:

  1. サーブレットでは、サーブレット オブジェクトが作成されると、最初に init() が呼び出され、次に service() が呼び出され、最後に destroy() が自動的に呼び出されます。

  2. Android のアクティビティには、アクティビティのオブジェクトが存在するときに自動的に呼び出されるライフサイクル メソッド onCreate() 、onStart()、onResume() などがあります。

4

4 に答える 4

1

最も簡単に言えば、テンプレート メソッド アプローチを使用して要件を満たすことができます。

public class Template {
  public void templateMethod() {
    detail1();
    detail2();
  }
  protected void detail1() {}
  protected void detail2() {}

}

次に、Template クラスをサブクラス化します。

于 2012-10-09T11:34:04.107 に答える
1

これらのメソッドの順序は、クラスを参照するフレームワーク/コンテナーによって義務付けられています。私は通常、あなたのフレームワークがクラ​​イアントに特定のインターフェース( などを含む)を実装することを要求し、フレームワーク自体がステートマシンとその後の動作を決定することを期待しstart()stop()ます

于 2012-10-09T10:45:32.407 に答える
1

Java のライフサイクルメソッド

アプレットはブラウザーで実行されるため、クラス Applet にはライフサイクル メソッドが含まれています。ライフ サイクル メソッドは、ループ バック メソッドとも呼ばれます。

java.applet.Applet には、4 つのライフサイクル メソッドがあります。彼らです

public void init (),
public void start (),
public void stop () 
public void destroy ().

1. public void init ():

This is the method which is called by the browser only one time after loading the applet.
In this method we write some block of statements which will perform one time operations, such as, obtaining the resources like opening the files, obtaining the database connection, initializing the parameters, etc.

2. public void start ():

  After calling the init method, the next method which is from second request to sub-sequent requests the start method only will be called i.e., short method will be called each and every time.
In this method we write the block of statement which provides business logic.

3.パブリック無効停止():

  This id the method which is called by the browser when we minimize the window. 
In this method we write the block of statements which will temporarily releases the resources which are obtained in init method.

4. public void destroy ():

This is the method which will be called by the browser when we close the window button or when we terminate the applet application.
In this method we write same block of statements which will releases the resources permanently which are obtained in init method.

ライフサイクルメソッドではない別のメソッドは public void paint () です。これは、start メソッドの完了後にブラウザによって呼び出されるメソッドです。このメソッドは、ブラウザにデータを表示するために使用されます。Paint メソッドは内部で drawString というメソッドを呼び出しており、そのプロトタイプを以下に示します。java.awt.Graphics (Graphics => public void drawString (String, int 行位置, int 列位置)) アプレットをブラウザにロードすると、Graphics クラスのオブジェクトが自動的に作成されます。

于 2012-10-09T10:48:07.793 に答える
1

アプリケーションコンテナが必要です(最も簡単な説明は、クラスの指定されたメソッドを指定された順序で実行するクラスであるということです)。ただし、アプリケーション コンテナの概念をより深く理解する必要があります。について読むことをお勧めします

于 2012-10-09T10:51:12.827 に答える