interface animal
{
void eat();
void sleep();//(接口类默认权限是public abstract)
}class zoo
{
class tiger implements animal
{
public void eat()
{
System.out.println("tiger eat");
}
public void sleep()
{
System.out.println("tiger sleep");
}
animal getanimal()
{
return new animal()
{
public void eat()
{
System.out.println("animal eat");
}
public void sleep()
{
System.out.println("animal sleep");
}
};
}
}
}class test
{
public static void main(String[] para)
{
zoo zz=new zoo();
animal an=zz.getanimal();
an.eat();
an.sleep();
}
}
E:\javalearn\lesson>javac animal.java
animal.java:45: cannot resolve symbol
symbol : method getanimal ()
location: class zoo
animal an=zz.getanimal();
这个问题是一个老师视频中的内容,我在编译的时候总是出现这一个错误,请各位朋友指导\指正.
void eat(); void sleep();// (接口类默认权限是public abstract)
}class zoo {
class tiger implements animal {
public void eat() {
System.out.println("tiger eat");
} public void sleep() {
System.out.println("tiger sleep");
}
} animal getanimal() {
return new animal() {
public void eat() {
System.out.println("animal eat");
} public void sleep() {
System.out.println("animal sleep");
}
};
}}public class test {
public static void main(String[] para) {
zoo zz = new zoo();
animal an = zz.getanimal();
an.eat();
an.sleep();
}
}红颜色的地方少了一个括号,底下多了个括号
interface animal
{
void eat();
void sleep();//(接口类默认权限是public abstract)
} class zoo
{
class tiger implements animal
{
public void eat()
{
System.out.println("tiger eat");
}
public void sleep()
{
System.out.println("tiger sleep");
}
}//end tiger animal getanimal()
{
return new animal()
{
public void eat()
{
System.out.println("animal eat");
}
public void sleep()
{
System.out.println("animal sleep");
}
};
}//end getanimal()
}//end zoopublic class test
{
public static void main(String[] para)
{
zoo zz=new zoo();
animal an=zz.getanimal();
an.eat();
an.sleep();
}
}采用楼上的对其方法也是可以的,但我个人认为我这种书写的格式很好阅读代码~
zoo zz=new zoo();
animal an=zz.getanimal();
这样空的对象可以的么?
你怎么编译接口 直接编译主类 其它编译器错误ls都已经说了