JAVA语法错误,将“;”插入到完整 LocalVariableDeclarationStatement 中
3个回答
展开全部
time()方法体内包含另外一个方法的声明定义错误,可以直接删除这句。我也遇到了……实际提示的错误意思指的是这个。
另外,按你代码的意思,直接删除这句运行后应该得不到想要结果,因为你的实际意思只是要定义tell()为抽象类getTime中的public抽象方法,但是你外层的tell()方法实际被定义为private类型了,私有类型不能被继承使用,所以直接删那句应该还不行。
简单点说要把public abstract void tell();移出time(){}方法体,同时删除原来外面的private void tell(){}以免出错。
完整代码如下:
import javax.security.auth.callback.LanguageCallback;
abstract class getTime {
public void Time(){
long ks = System.currentTimeMillis();
this.tell();
long js = System.currentTimeMillis();
System.out.println("运行了" + (js-ks));
}
public abstract void tell();
}
class Z extends getTime{
public void tell(){
for(int i=0;i<10000;i++){
System.out.println("A");
}
}
public void getTime(){
super.Time();
}
/*需要运行可添加
public static void main(String[] args){
Z x = new Z();
x.getTime();
}
*/
}
另外,按你代码的意思,直接删除这句运行后应该得不到想要结果,因为你的实际意思只是要定义tell()为抽象类getTime中的public抽象方法,但是你外层的tell()方法实际被定义为private类型了,私有类型不能被继承使用,所以直接删那句应该还不行。
简单点说要把public abstract void tell();移出time(){}方法体,同时删除原来外面的private void tell(){}以免出错。
完整代码如下:
import javax.security.auth.callback.LanguageCallback;
abstract class getTime {
public void Time(){
long ks = System.currentTimeMillis();
this.tell();
long js = System.currentTimeMillis();
System.out.println("运行了" + (js-ks));
}
public abstract void tell();
}
class Z extends getTime{
public void tell(){
for(int i=0;i<10000;i++){
System.out.println("A");
}
}
public void getTime(){
super.Time();
}
/*需要运行可添加
public static void main(String[] args){
Z x = new Z();
x.getTime();
}
*/
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把tell()那一行移到time()方法体外面
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-07-11
展开全部
你那行代码没有意义吧, 应该删除那条语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询