0

したがって、クラスAはクラスBを拡張し、クラスBはJInternalFrameを拡張し、BにはメソッドmyMethodがあります(私の場合、myMethodは順序システムを10進数に変換します)。クラス A のメソッドでクラス B の myMethod を使用したいのですが、super.myMethod() を呼び出そうとすると、myMethod() が見つからないと表示され、その後に表示されるすべてのメソッドを調べたところ、 「super.」と入力すると、メソッドはすべて JTable メソッドになります (ドロップダウンから任意のメソッドをクリックして制御すると、JTable.java に移動します)。

クラスAでBを作成してからB.myMethod()を使用しようとしましたが、これは機能しますが、Bを作成せずにクラスAでmyMethodを呼び出す方法はありますか?

public class B extends JInternalFram{ 
   constructor(){
   }
   public myMethod(){
      //does conversions here
   }
}


public class A extends B{ 
   constructor(){
   }
   public anotherMethod(){
      //needs to use b.myMethod();
   }
}

ありがとう

4

3 に答える 3

0

お役に立てれば -

public class B extends JInternalFram{ 
   B(){
   }
   public void myMethod(){
      //does conversions here
      System.out.println("Inside myMethod of B");
   }
}


public class A extends B{ 
   A(){
   }
   public void anotherMethod(){
      //needs to use b.myMethod();
      myMethod(); 
   }
}
于 2013-10-23T19:20:14.037 に答える
0

うーん、よくわかりませんが、戻り値のタイプがありませんか?

変更してみてください:

public myMethod(){//does conversions here}

と:

public void myMethod(){//does conversions here}

覚えて:

一般に、メソッドの構文は次のとおりです。

modifier returnValueType methodName(list of parameters) {
  // Method body;
}

修飾子: オプションの修飾子は、メソッドの呼び出し方法をコンパイラに指示します。これは、メソッドのアクセス タイプを定義します。

戻り値の型: メソッドは値を返す場合があります。returnValueType は、メソッドが返す値のデータ型です。一部のメソッドは、値を返さずに必要な操作を実行します。この場合、returnValueType はキーワード void です。

メソッド名: これはメソッドの実際の名前です。メソッド名とパラメータ リストが一緒になってメソッド シグネチャを構成します。

パラメータ: パラメータはプレースホルダーのようなものです。メソッドが呼び出されると、パラメーターに値を渡します。この値は、実パラメータまたは引数と呼ばれます。パラメーター リストは、メソッドのパラメーターの型、順序、および数を参照します。パラメータはオプションです。つまり、メソッドにはパラメーターが含まれていない場合があります。

メソッド本体: メソッド本体には、メソッドの動作を定義するステートメントのコレクションが含まれます。

于 2013-10-23T18:02:41.417 に答える