Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Javaの基本的なプログラミングについて

こんばんは、javaの初心者的な質問なのですが、よろしくお願いします。コーディングの意義がわからなくて困っています…。以下、コーディングになります。
public class Cat{
  public String color;
  public String size;
        private String howlVoice;

public void howl(){ 
  System.out.println(howlVoice);
}

public void eat(String food){
System.out.println(food + ”おいしい”);
}

public String vomit(){
  String fluffBall = ”毛玉”;
  return fluffBall;
  }
}
1.クラスの中の二番目のメソッドは
引数を空っぽにして、System.out.println(food + ”おいしい”);  としても同じ意味な気がするのですが、引数をかく「メリット」がわかりません。
根本的な質問ですいません。

2.一番下のメソッドは、戻り値にStringとあるので、returnで返す、と習いました。が、やはり意義がわかりません。
public void vomit(){
  String fluffBall = ”毛玉”;
  System.out.println(fluffBall);
  }
または、
public void vomit(){
  System.out.println(”毛玉”);
}
ではだめなのですか?

3.おなじく一番下のメソッドで、戻り値をvoidではなく、Stringやintにするメリットやタイミング、returnとSystem.out.println();の違いを教えてください。なぜ、こういうときにこうやって使い分けるか、というタイミングや意義がわかりません。

よろしくお願いします。

2

回答

72953

閲覧

2件の回答

評価

0

プログラミングではなく、クラスの存在する意味を理解できてないようだ。
クラスは単品で動作させるものではなく、別のクラスから使われることを想定して考えるものだ。
そのクラスの中だけで考えているから、意味が分からない。
人間が他の人から何かを受け取り、他の人に何かを渡すようになっているのと同じだと考えてみよう。

1つ目、そのクラスで使いたい内容をそのクラス以外から与えられるように、引数を使う。
2つ目、そのクラスで得られる内容をそのクラス以外で使えるように、戻り値を使う。

評価

0

System.out.println()は単に目に見えるようにするだけで、他のクラスに情報を渡すものではない。
もっとも、実際にはこれだってSystemという自分以外のクラスにあるoutというオブジェクト(自分以外のクラス)に、表示したい内容を渡しているんだが。
引数というものがないと、「何を表示したいか」を伝えられなくなる。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。