クラスの宣言
フィールドの宣言
public class People { String name; // フィールド宣言 int hp; // フィールド宣言 int level = 10; // 初期値指定 final int GOLD = 1000; // 定数指定 }
メソッドの宣言
public class People { String name; //属性 int hp; // 属性 public void sleep() { this.hp = 100; // メソッド内でフィールド宣言には「this」をつける System.out.println( this.name + "は眠って回復した" ); } public void sit( int sec ) { this.hp += sec; System.out.println( this.name + "は、" + sec + "秒座った" ); System.out.println( "HPが" + sec + "ポイント回復した" ); } }
クラス名、属性、メソッド名のルール
対象 | 品詞 | 大文字/小文字の用法 | 例 |
クラス名 | 名詞 | 単語の頭が大文字 | People, Items |
フィールド名 | 名詞 | 最初以外の単語の頭が大文字 | level, itemList |
メソッド名 | 動詞 | 最初以外の単語の頭が大文字 | attack, poisonAttack |
クラスのインスタンス
public class Main { public static void main() { People p = new People(); //クラス名 変数名 = new クラス呼び出し // フィールドへ値を代入 p.name = "Test"; // 変数名.フィールド名 p.hp = 200; System.out.println( p.name + "の体力は今" + p.hp + "ある" ); // クラスのメソッド呼び出し p.sleep(); // 変数名.メソッド名 } } public class People { String name; // フィールド宣言 int hp; // フィールド宣言 public void sleep() { this.hp = 100; // メソッド内でフィールド宣言には「this」をつける System.out.println( this.name + "は眠って回復した" ); } }
インスタンスの参照渡し
クラスのインスタンス後に、別の変数に渡したとしても変数の番地を渡すだけなので、どっちも同じ内容を更新できてしまう。
別々にインスタンスする場合には、newをつけて新しく宣言する必要がある
public class Main { public static void main() { People p = new People(); //クラス名 変数名 = new クラス呼び出し People p2 = p; p.hp = 100; System.out.println( p2.hp ); // 100になる } } public class People { String name; // フィールド宣言 int hp; // フィールド宣言 public void sleep() { this.hp = 100; // メソッド内でフィールド宣言には「this」をつける System.out.println( this.name + "は眠って回復した" ); } }