前提・実現したいこと
Java (eclipse)でカプセル化技術について学んでいます。
setterメソッドを導入して、nameへのアクセスを制限したいと思っています。
発生している問題・エラーメッセージ
setNameは解決できないか、フィールドではありません。
該当のソースコード
java
ソースコード
Main.java の中身
public class Main{
public static void main(String [] rags){
Hero h = new Hero();
h.setName = (“横浜ベイスターズファン“);
}
}
Hero.javaの中身
public class Hero{
private String name;
public void setName(String name){
if(name == null){
throw new IllegalArgumentException
(“名前がnullである”);
}
if(name.length() <= 1 ){
throw new IllegalArgumentException
(“名前が短すぎます”);
}
if(name.length() <= 8 ){
throw new IllegalArgumentException
(“名前が長すぎます");
}
this.name = name;
}
private int hp;
Hero(String name){
}
Hero(int age){
}
Hero(){
this(“ダミー“);
}
public String getName(){
return this.name;
}
}
試したこと
ここに問題に対して試したことを記載してください。
該当箇所をgetNameに書き換え
→ setNameと同様のエラー
補足情報
eclipseのバージョンがわからず....すみません。最新のものだと思います。
スッキリわかるJAVA入門で学習しています。10章で、止まってしまったのですが、
書籍を読み返したり、他のサイトを見ましたが、わかりませんでした。
お力添えのほどお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/13 14:23