1

Java について簡単な質問があります。私は、私が見つけることができる最も低いレベルのプログラミングクラスに取り組んでいるまったくの初心者であることを覚えておいてください. 取り組んでいる課題がありますが、その特定の部分に問題があります。コードを核心部まで切り詰めましたが、何が間違っているのかまだわかりません。これについて何か助けていただければ幸いです。

まず、クラス ("Car") を作成しました。このクラスには、引数を取るコンストラクターがあります。(繰り返しになりますが、これは多くの部分が切り取られています。長くなりますが、このコードだけでエラーが持続します):

public class Car
{
   private String make;

   public Car(String carMake)
   {
      make = carMake;
   }

   public String getMake()
   {
      return make;
   }
}

この部分は問題なくコンパイルされます。ただし、このクラスをメイン クラスで使用しようとすると、問題が発生し、エラーが発生します。

public class Drive
{
   public static void main(String[] args)
   {
      Car userCar;

      userCar = new Car("Focus");

      System.out.println(Car.getMake());
   }
}

このクラスをコンパイルすると、このエラー メッセージが表示されます。

Drive.java:9: error: non-static method getMake() cannot be referenced from 
a static context
  System.out.println(Car.getMake());

私はこれについてインターネットと SE で多くの検索を行ってきましたが、コーダーが非静的部分を「作成」しなかったために、これが発生していることがほとんどありました。しかし、私はこれをしました。私は自分が間違っていることを理解できないようです。誰かが私の過ちを理解するのを手伝ってくれるなら、私はそれを大いに感謝します.

ありがとう!

4

2 に答える 2

0

これを行う:

userCar.getMake();

つまりgetMake()、静的メソッドではないため、クラスのインスタンスでこれを呼び出す必要があります。

于 2013-11-10T21:28:37.983 に答える