java - 为什么我的构造函数出现非静态变量错误?
问题描述
我无法编译我的代码。我盯着这段代码看了好几个小时,我不知道出了什么问题。
这是我的代码: 代码
public class test{
class University {
private String name;
private int enrollment;
private boolean urban;
public University() {
name = "TSU";
enrollment = 8000;
urban = true;
}
public University(String name, int enrollment, boolean urban) {
this.name = name;
this.enrollment = enrollment;
this.urban = urban;
}
public int getEnrollment() {
return enrollment;
}
public void setEnrollment(int n) {
if (n > 0) {
n = n;
} else {
n = 0;
}
}
}
public static void main(String[] args) {
University tsu = new University();
University vu = new University("Vandy", 5800, true);
University mt = new University("MTSU", 7000, false);
tsu.setEnrollment(8500);
vu.setEnrollment(60000);
System.out.println(tsu.name + "\'s enrollment is " + tsu.getEnrollment());
}
}
这是我不断收到的错误: 错误
test.java:36: error: non-static variable this cannot be referenced from a static context
University tsu = new University();
^
预先感谢您的帮助!
解决方案
您的代码定义University
为非静态类(有关更详细的说明,请参阅嵌套类)。您应该改为声明University
如下:
static class University {
// ...
}
推荐阅读
- web-audio-api - 尝试创建多个振荡器
- jquery - 为什么在我的 WebGrid 上看到重复的排序按钮?
- node.js - 在nodejs中合并音频和视频而不使用ffmpeg
- java - 我有一个不正确的查询,但我找不到错误
- java - Spring Boot 和 JavaFX,使用 WeaverFX
- typescript - 在 TypeScript 中检查文字对象类型的更简单方法
- c# - 我们是否允许在启用 Mono 解释器的情况下发布 Xamarin iOS 应用程序?
- node.js - 在 node.js 中跟踪当前活跃用户
- php - 在 WordPress 管理仪表板中更改 WooCommerce 产品菜单标题
- ios - 用户从 UIPickerView 选择值后如何启用按钮?