å•題
ã‚ãªãŸã¯ã€å„ユーザーãŒãれãžã‚Œã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸æ•°ã‚’æŒã¡ãªãŒã‚‰ã€
全体ã®é€ä¿¡ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸æ•°ã‚‚集計ã§ãるクラスを作ã‚ã†ã¨ã—ã¦ã„ã¾ã™ã€‚
User クラスã«ã¯ã€ä»¥ä¸‹ã®2ã¤ã®æƒ…å ±ã‚’ä¿æŒã•ã›ã¦ãã ã•ã„:
- å„ユーザーã”ã¨ã®é€ä¿¡æ•° → インスタンス変数ã¨ã—ã¦ä¿æŒ
- 全ユーザー共通ã®é€ä¿¡æ•° → static変数ã¨ã—ã¦ä¿æŒ
å„ユーザー㌠sendMessage() メソッドを呼ã³å‡ºã™ãŸã³ã«ã€
ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®é€ä¿¡å›žæ•°ã¨ã€å…¨ä½“ã§ã®é€ä¿¡å›žæ•°ãŒã¨ã‚‚ã«åŠ ç®—ã•れã€ä»¥ä¸‹ã®ã‚ˆã†ã«å‡ºåŠ›ã•れるよã†ã«ã—ã¦ãã ã•ã„。
Alice ã®é€ä¿¡å›žæ•°: 1(全体: 1)
Bob ã®é€ä¿¡å›žæ•°: 1(全体: 2)
Alice ã®é€ä¿¡å›žæ•°: 2(全体: 3)
è¦ä»¶
Userクラスを作æˆã™ã‚‹ã“ã¨name(インスタンス変数)ã€messageCount(インスタンス変数)ã€totalMessageCount(static変数)をæŒã¤ã“ã¨sendMessage()メソッドを定義ã—ã€ä»¥ä¸‹ã®å‡¦ç†ã‚’行ã†ã“ã¨ï¼šmessageCountã¨totalMessageCountã‚’1ãšã¤åŠ ç®—ã™ã‚‹- 出力形å¼ã¯ï¼š
[ユーザーå] ã®é€ä¿¡å›žæ•°: [個別](全体: [total])
- ã™ã¹ã¦ã®å‡ºåŠ›ã«
System.out.printlnを使用ã™ã‚‹ã“ã¨
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
User u1 = new User("Alice");
User u2 = new User("Bob");
u1.sendMessage();
u2.sendMessage();
u1.sendMessage();
}
}
ヒント
- インスタンス変数ã¯
this.を使ã£ã¦æ›´æ–°ã™ã‚‹ - static変数ã¯
User.totalMessageCount++ãªã©ã€ã‚¯ãƒ©ã‚¹åã‹ã‚‰ã‚‚アクセスã§ãã‚‹ - ãれãžã‚Œã®å¤‰æ•°ã® スコープã¨å…±æœ‰æ€§ã®é•ã„ ã«æ³¨ç›®ã™ã‚‹ã“ã¨
104 ステップアップå•題 「static修羅é“ã€
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント