≪Java≫ 【前回の続きでメソッドの場合】static変数はサブクラスに引き継がれないんじゃなかったっけ?(メモ)

前回の続きで、今度はメソッドで検証。。。

//スーパークラス
class AnimalM{
 static void disp(String s){
 System.out.println(“disp:” + s);
 }
}

//サブクラス
class DogM extends AnimalM{}

//実行クラス
public class ExecM {
 public static void main(String[] args) {
  AnimalM a = new AnimalM();
  DogM d = new DogM();
  a.disp(“a”); → 「disp:a」と表示される ①
  d.disp(“d”); → 「disp:d」と表示される ②
  AnimalM.disp(“AnimalM”); → 「disp:AnimalM」と表示される
 }
}

あれ?・・・^^;

ちなみに ① と ② の部分は、Eclipseでは、
『型AnimalM からの static メソッド disp(String) には static にアクセスする必要があります。』
と黄色ビックリマークで警告表示が出ます。



引っ越し前の記事
シェアする
senをフォローする
プレミア商品・お得商品情報局(予約・再販情報も)


タイトルとURLをコピーしました