プログラミング初心者です
スッキリわかるJavaという参考書で、
オブジェクト指向に基づきRPGをテーマにクラスを作成する内容なんですが、Heroという名前のクラスに、
void sleep() { ...
というのが出てきました。
見慣れないので困惑していると、どうやらメソッドの書き始めの文らしいのですが、public static void main(String[] args) とどう違うのですか?
sleepがメソッド名で、引数は無しで・・っていうのはわかるのですが、なぜvoidだけなのでしょうか?
そもそもメソッドを呼び出すときは
public class Main { public static void main(String[]args){ System.out.println("メソッドを呼び出します"); hello(); System.out.println("メソッドの呼び出しが終わりました"); } public static void hello(){ System.out.println("Aさんこんにちは"); } }
のhello();のようにメソッド名(引数)で呼び出せたはずなのに、なぜここではvoidが必要なのでしょうか?
ちなみにHeroクラスはこのようになっています。
`public class Hero { String name; int hp; void sleep() { this.hp = 100; System.out.println(this.name + "は、眠って回復した!"); } void sit(int sec) { this.hp += sec; System.out.println(this.name + "は、" + sec + "秒座った!"); System.out.println("HPが" + sec + "ポイント回復した"); } void slip() { this.hp -= 5; System.out.println(this.name + "は転んだ!"); System.out.println("5のダメージ!"); } void run() { System.out.println(this.name + "は逃げだした!"); System.out.println("GAME OVER"); System.out.println("HPは" + this.hp + "でした"); } } `` 初心者なので質問が下手かもしれませんが、ご教授お願いいたします。
エラーメッセージ
###該当のソースコード ```ここに言語を入力 ここにご自身が実行したソースコードを書いてください
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/10/25 08:33
2017/10/25 08:40 編集