问题描述
我收到此错误消息:
以下是我所拥有的:对于说出
类,
public class Speak {
public void saySomething();
}
以下是我在 PetTest中的内容
class:
import java.util.ArrayList;
公共类PetTest {
public static void main(String [] args)
{
ArrayList< Pet> myPets = new ArrayList< Pet>();
myPets.add(新鹦鹉(老板));
myPets.add(新猫(奥利奥));
myPets.add(new Dog(Riley));
for(Pet p:myPets)
{
p.saySomething();
System.out.println(p);
}
}
}
我没有发布其他的与此计划一起使用的5个班级。我知道有一些东西需要在 Speak
类中修复,但我被卡住了。在 Speak
类中,在的行上显示public void saySomething();
它表示Missing Method正文,或声明这是其他课程:
抽象类Pet {
String name;
public Pet(String name){
this.name = name;
}
}
公共类Parrot extends Bird {
public Parrot(String name)
{
super(name );
}
@Override
public void saySomething()
{
System.out.println(Pauly想要一个craker?);
}
@Override
public String toString()
{
返回你好,我是+名字+鹦鹉。;
}
}
公共类Dog extends Pet {
public Dog(String name)
{
super(姓名);
}
@Override
public void saySomething()
{
System.out.println(Ruff,ruff!);
}
@Override
public String toString()
{
返回Hello,I'm+ name +the dog。;
}
}
公共类Cat延伸宠物{
公共猫(字符串名称)
{
super(姓名);
}
@Override
public void saySomething()
{
System.out.println(Meow。);
}
@Override
public String toString()
{
返回Hello,I'm+ name +the cat。;
}
}
公共类Bird extends Pet {
public Bird(String name)
{
super(name );
}
public void saySomething(){}
}
Speak有以下选择,请选择:
1st
public abstract class Speak {
public abstract void saySomething();
}
2nd
public class Speak {
public void saySomething(){
}
}
第3次
public interface Speak {
public void saySomething();
}
编辑:首先,你不是在任何地方使用Speak类。其次,请在Pet类中添加以下方法:
public abstract void saySomething();
I am getting this error message:
Here is what i have: for the Speak
class,
public class Speak {
public void saySomething();
}
Here is what i have in the PetTest
class:
import java.util.ArrayList;
public class PetTest {
public static void main(String[] args)
{
ArrayList<Pet> myPets = new ArrayList<Pet>();
myPets.add(new Parrot("Boss"));
myPets.add(new Cat("Oreo"));
myPets.add(new Dog("Riley"));
for (Pet p: myPets)
{
p.saySomething();
System.out.println(p);
}
}
}
I did not post the other 5 classes that go with this program. I know there is something that needs to be fixed in the Speak
class, but i am stuck. In the Speak
class, on the line that says public void saySomething();
it says Missing Method body, or declare abstract.
EDIT: Here are the other classes:
public abstract class Pet {
String name;
public Pet(String name){
this.name = name;
}
}
public class Parrot extends Bird {
public Parrot (String name)
{
super(name);
}
@Override
public void saySomething()
{
System.out.println("Pauly want a craker?");
}
@Override
public String toString()
{
return "Hello, I'm " + name + " the parrot.";
}
}
public class Dog extends Pet {
public Dog (String name)
{
super(name);
}
@Override
public void saySomething()
{
System.out.println("Ruff, ruff!");
}
@Override
public String toString()
{
return "Hello, I'm " + name + " the dog.";
}
}
public class Cat extends Pet {
public Cat(String name)
{
super(name);
}
@Override
public void saySomething()
{
System.out.println("Meow.");
}
@Override
public String toString()
{
return "Hello, I'm " + name + " the cat.";
}
}
public class Bird extends Pet {
public Bird(String name)
{
super(name);
}
public void saySomething(){}
}
You have the following options for Speak, take your pick:
1st
public abstract class Speak{
public abstract void saySomething();
}
2nd
public class Speak{
public void saySomething(){
}
}
3rd
public interface Speak{
public void saySomething();
}
Edit: First of all, you are not using Speak class anywhere. Second, please add the following method in Pet class:
public abstract void saySomething();
这篇关于缺少方法体,或声明抽象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!