首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

实例化中出现的有关问题,多谢大家

2011-12-22 
实例化中出现的问题,谢谢大家classZoo{AnimalgetAnimal()//Animal是一个接口类型{returnnewAnimal()}}cla

实例化中出现的问题,谢谢大家
class   Zoo
{
Animal   getAnimal()   //Animal是一个接口类型
{
return   new   Animal();
}
}
class   Test
{
public   static   void   main(String[]   args)
{
Zoo   z=new   Zoo();
Animal   an=z.getAnimal();//Animal是接口,那这句话是不是就不是实例化了呢?
}
}
这里面的getAnimal是非静态的方法,为什么可以在static   main中初试化一个接口呢。

[解决办法]
如果Animal是一个接口类型
class Zoo
{
Animal getAnimal() //Animal是一个接口类型
{
return new Animal(); //-----------此语句可以通过?接口不可以
}



[解决办法]
return new Animal(){ };

建议楼主好好看看基础的东西
[解决办法]
Animal an=z.getAnimal();//Animal是接口,那这句话是不是就不是实例化了呢?
是用接口接受具体的实例,这个相当于
Person p = new Person( "亚当 ", "男 ");

这里面的getAnimal是非静态的方法,为什么可以在static main中初试化一个接口呢。
-------
class A{
public void fun(){}
public static void main(String args[]){
fun();//这个才是在静态方法中调用非静态方法,你这个是一个具体的实例调用自己本身的方法
}
}

热点排行