【发布时间】:2014-03-15 23:13:15
【问题描述】:
我有并且错误 Ikan 不是抽象的并且不会覆盖抽象 方法 setName 类 Ikan 扩展 Animal 实现 Pet 和 Kucing 是 非抽象且不覆盖抽象方法 setName 类 Kucing 扩展了 Animal 的 Pet
abstract class Animal {
protected int Legs;
protected String Eater;
Animal (int l,String e) {
Legs = l;
Eater = e;
}
abstract public void walk ();
abstract public void eat ();
int getLegs () {
return Legs;
}
String getEater () {
return Eater;
}
}
interface Pet {
void setName();
String getName();
void balikNama();
void play();
}
class Ikan extends Animal implements Pet {
String name,mainan;
Ikan (int l,String e) {
super(l,e);
}
void setMainan (String m) {
mainan = m;
}
void getMainan () {
System.out.println ("Ikan ini bermain"+mainan);
}
public void setName (String n) {
name = n;
}
public String getName () {
return name;
}
public void balikNama () {
for (String part : name.split(" ")) {
System.out.print(new StringBuilder(part).reverse().toString());
System.out.print(" ");
}
}
public void play () {
System.out.println (name+" lagi mainan "+mainan);
}
public void walk () {
System.out.println ("Tidak bisa berjalan bisanya renang");
}
public void eat () {
System.out.println ("Hewan ini memakan "+Eater);
}
}
class Kucing extends Animal implements Pet {
String name,mainan;
Kucing (int l,String e) {
super(l,e);
}
void setMainan (String m) {
mainan = m;
}
void getMainan () {
System.out.println ("Kucing ini bermain"+mainan);
}
public void setName (String n) {
name = n;
}
public String getName () {
return name;
}
public void balikNama () {
for (String part : name.split(" ")) {
System.out.print(new StringBuilder(part).reverse().toString());
System.out.print(" ");
}
}
public void play () {
System.out.println (name+" lagi mainan "+mainan);
}
public void walk () {
System.out.println ("Berjalan dengan "+Legs+" kaki");
}
public void eat () {
System.out.println ("Hewan ini memakan "+Eater);
}
}
class Laba extends Animal {
String name;
Laba (int l,String e) {
super(l,e);
}
void setName (String n) {
name = n;
}
public String getName () {
return name;
}
public void balikNama () {
for (String part : name.split(" ")) {
System.out.println(new StringBuilder(part).reverse().toString());
}
}
public void walk () {
System.out.println ("Berjalan dengan "+Legs+" kaki");
}
public void racun () {
System.out.println ("Cuma sedikit racunya");
}
public void eat () {
System.out.println ("Hewan ini memakan "+Eater);
}
}
class Tarantula extends Laba{
String name;
Tarantula (int l,String e,String n) {
super(l,e);
name = n;
}
void setName (String n) {
name = n;
}
public String getName () {
return name;
}
public void balikNama () {
for (String part : name.split(" ")) {
System.out.println(new StringBuilder(part).reverse().toString());
}
}
public void walk () {
System.out.println ("Berjalan dengan "+Legs+" kaki");
}
public void racun () {
System.out.println ("Banyak racunya");
}
}
class TestAnimal {
public static void main (String[]args) {
Ikan I = new Ikan (0,"Manusia");
Kucing K = new Kucing (4,"Ikan");
Laba L = new Laba (6,"Kucing");
Tarantula T = new Tarantula (6,"Burung","Joni");
I.setName ("Piranha");
K.setName ("Tiger");
L.setName ("Spiderman");
I.setMainan ("Ikan lainnya");
K.setMainan ("Burung");
Animal [] A = new Animal [4];
A[0] = I;
A[1] = K;
A[2] = L;
A[3] = T;
for (int i = 0;i < 4;i++) {
if (A[i] instanceof Laba) {
System.out.println ("Ini bukan hewan peliharaan bro");
System.out.print ("Laba laba ini bernama "+A[i].getName());
A[i].balikNama();
A[i].walk();
A[i].racun();
A[i].eat();
} else {
A[i].getName();
A[i].balikNama();
A[i].walk();
A[i].eat();
A[i].getMainan();
}
}
}
}
【问题讨论】:
-
你对错误信息有什么不明白的地方?
-
我不知道如何解决它,请帮助我
标签: java arrays interface abstract