Java
1package chapter7; 2 3class Product { 4 //productにのみ存在するフィールド 5 public String name = "product"; 6 7 //productにのみ存在するメソッド 8 public void sample() { 9 System.out.println("This is " + name); 10 } 11 12 public void disp() { 13 System.out.println("name is " + name); 14 } 15} 16 17class Drink extends Product { 18 name = "ABC";//有効な宣言が必要という旨のエラー 19 int price; 20 21 public void disp() { 22 System.out.println("name is " + name + ". And price is " + price); 23 } 24}
nameの部分のエラーを消すには修飾子が必要なのですが、この書き方はアウトなのですかね。
再びString name とすると親クラスのnameを使うのではなく新たに定義をする方法になってしまいますよね。
新たに定義しない場合はnew()した後に代入するしか方法はない気がしますが。
仮にDrinkにString name = "name"
とする場合と
new Drink()の後に変数名.name = "Drink"とする違いは何でしょうか。
回答2件
あなたの回答
tips
プレビュー