我正在努力创造一个新的" Time"类,
time.java
public class Time{
public int hour,minute;
public double second;
public Time(){
super();
}
}
main_activity.java
Time newT = new Time();
newT.hour = 3;
但我在这里收到错误:newT.hour
错误(在eclipse中)"令牌上的语法错误"小时",变量声明符号在此令牌之后预期"
答案 0 :(得分:3)
小时的可访问性为private
,因此您无法从其他类访问它。创建setter和getter:
public class Time{
private int hour,minute;
private double second;
public Time(){
super();
}
public void setHour(int hour) {
this.hour = hour;
}
public int getHour() {
return hour;
}
}
现在通过newT.setHour(3);
编辑:我看到你重写了错误。实际错误是因为你已经把这些行
Time newT = new Time();
newT.hour = 3;
在课堂上,我假设你有类似的东西:
public class Main {
Time newT = new Time();
newT.hour = 3;
}
但是你不能做这样的事情,因为你只能在你的类体中声明变量/方法/类。试试这个:
public class Main {
public void myMethod {
Time newT = new Time();
newT.hour = 3;
}
}
答案 1 :(得分:1)
使用setter和getter方法。 在您的类中创建两个公共方法来设置小时值并获取它。 这样你可以使用私有变量。
否则你需要公开它们。
答案 2 :(得分:1)
首先,我想知道你是如何编译这个“private double String second;
”行的。 (double string together:-o),现在好了,下面就是你的解决方案。
你的时间课程应该如下所示
public class Time{
private int hour,minute;
private double seconds;
public int getHour() {
return hour;
}
public void setHour(int hour) {
this.hour = hour;
}
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
this.minute = minute;
}
public double getSeconds() {
return seconds;
}
public void setSeconds(double seconds) {
this.seconds = seconds;
}
}
并执行此类设置并获取小时/分钟/秒
Time newT = new Time();
newT.setHour(1);
同时在您正在编写的新课程中导入时间。
答案 3 :(得分:0)
由于您没有告诉我们有关明确状态的错误,您无法从课堂外访问private
字段。