缺少方法主体摘要 class
missing method body abstract class
摘要 class 的 'missing method body or declare abstract' 存在错误。但是 class WaterLevelObserver
已经是抽象的...我该如何解决这个错误?
abstract class WaterLevelObserver{
void update(int waterLevel);
}
class SMSWriter extends WaterLevelObserver{
void update(int waterLevel){
System.out.println("Sending SMS.. : "+waterLevel);
}
}
class Alarm extends WaterLevelObserver{
void update(int waterLevel){
if(waterLevel>=50){
System.out.println("ON");
}else{
System.out.println("OFF");
}
}
}
class Display extends WaterLevelObserver{
void update(int waterLevel){
System.out.println("Water level.. : "+waterLevel);
}
}
abstract
class 中任何未实现的方法也应该是 abstract
,
所以你需要制作你的方法 abstract
并确保你在你的 subclass
中实现它
abstract class WaterLevelObserver{
abstract void update(int waterLevel);
}
阅读 Oracle 所说的内容。
另请参阅:
- Should an abstract class have at least one abstract method?
要么必须定义正文,要么必须将其声明为 abstract
。如果您不想添加任何正文 - 更改
void update(int waterLevel);}
到
`abstract void update(int waterLevel);}`
方法也应该是抽象的:
abstract class WaterLevelObserver
{
void abstract update(int waterLevel);
}
未声明为 abstract
的方法必须由 class 实现,即使它在抽象 class.
中
将 class 定义为 abstract
仅意味着您无法实例化它并且您可以定义 abstract
方法。
任何未定义为 abstract
的方法都必须有主体。 TL;DR - 如果您不想实施 update
,请将其定义为 abstract
:
abstract class WaterLevelObserver{
abstract void update(int waterLevel);
}
我们需要明确地告诉编译器它是一个抽象 class 在抽象 class.without 的情况下它将搜索主体的关键字。在接口的情况下很好,因为默认情况下都是抽象的。
抽象无效更新(int waterLevel);
摘要 class 的 'missing method body or declare abstract' 存在错误。但是 class WaterLevelObserver
已经是抽象的...我该如何解决这个错误?
abstract class WaterLevelObserver{
void update(int waterLevel);
}
class SMSWriter extends WaterLevelObserver{
void update(int waterLevel){
System.out.println("Sending SMS.. : "+waterLevel);
}
}
class Alarm extends WaterLevelObserver{
void update(int waterLevel){
if(waterLevel>=50){
System.out.println("ON");
}else{
System.out.println("OFF");
}
}
}
class Display extends WaterLevelObserver{
void update(int waterLevel){
System.out.println("Water level.. : "+waterLevel);
}
}
abstract
class 中任何未实现的方法也应该是 abstract
,
所以你需要制作你的方法 abstract
并确保你在你的 subclass
abstract class WaterLevelObserver{
abstract void update(int waterLevel);
}
阅读 Oracle 所说的内容。
另请参阅:
- Should an abstract class have at least one abstract method?
要么必须定义正文,要么必须将其声明为 abstract
。如果您不想添加任何正文 - 更改
void update(int waterLevel);}
到
`abstract void update(int waterLevel);}`
方法也应该是抽象的:
abstract class WaterLevelObserver
{
void abstract update(int waterLevel);
}
未声明为 abstract
的方法必须由 class 实现,即使它在抽象 class.
将 class 定义为 abstract
仅意味着您无法实例化它并且您可以定义 abstract
方法。
任何未定义为 abstract
的方法都必须有主体。 TL;DR - 如果您不想实施 update
,请将其定义为 abstract
:
abstract class WaterLevelObserver{
abstract void update(int waterLevel);
}
我们需要明确地告诉编译器它是一个抽象 class 在抽象 class.without 的情况下它将搜索主体的关键字。在接口的情况下很好,因为默认情况下都是抽象的。
抽象无效更新(int waterLevel);