【发布时间】:2013-11-10 21:19:19
【问题描述】:
我有一个快速的 java 问题。请记住,我是一个新手,正在学习我能找到的最低级别的编程课程。我有一个我正在处理的任务,但我遇到了它的特定部分的问题。我已经将代码剪断到核心,但我仍然无法找出我做错了什么。我将不胜感激。
首先我创建了一个类(“汽车”)。这个类有一个带参数的构造函数。 (同样,这已被剪掉很多,它更长,但仅此代码错误仍然存在):
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());
我已经在 Internet 和 SE 上为此进行了大量搜索,我发现几乎所有发生这种情况的实例都是因为编码器没有“创建”非静态部分。不过,我已经这样做了。我似乎无法弄清楚我做错了什么。如果有人能帮助我理解我的错,我将不胜感激。
谢谢!
【问题讨论】:
-
这不是他们是否创建非静态部分的问题。是调用类的实例还是类本身的方法。你在类本身上调用它
Car而不是userCar。
标签: java oop non-static static