teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

編集を受けて追記

2016/04/25 15:07

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,3 +1,15 @@
1
1
  これは単にNewのNが大文字であるためのエラーでは?
2
2
 
3
- なお、エラーならどのようなエラーかを出してください。このレベルならそれがそのまま答えであることが多いです。
3
+ なお、エラーならどのようなエラーかを出してください。このレベルならそれがそのまま答えであることが多いです。
4
+
5
+ > Cannot use this in a static context
6
+ > Cannot make a static reference to the non-static field W
7
+ > Cannot make a static reference to the non-static field H
8
+
9
+ すべてstaticメソッドから非staticメンバを参照しているためのエラーです。
10
+ 基本的にクラスのフィールドおよびメソッドはインスタンスに紐づくものですが、
11
+ staticのものはインスタンスに紐付かず、クラスに唯一のものとなります。
12
+ その特性上、staticメソッドからは**インスタンスが存在しない**前提のもとで操作できる範囲、
13
+ すなわちstaticなメンバと引数として渡されたものしか使えません。
14
+
15
+ これを解消するためには、これらのフィールドをstaticにするか、インスタンスを生成してそのインスタンスのフィールドに対しての操作に変える必要があります。

1

エラーなら

2016/04/25 15:07

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,1 +1,3 @@
1
- これは単にNewのNが大文字であるためのエラーでは?
1
+ これは単にNewのNが大文字であるためのエラーでは?
2
+
3
+ なお、エラーならどのようなエラーかを出してください。このレベルならそれがそのまま答えであることが多いです。