java中实现类实现了接口,创建对象为什么还要写成 接口 对象名 =new 类名?
实现类 对象名 = new 类名
接口 对象名 = new 类名
有什么区别?
实现类 对象名 = new 类名
接口 对象名 = new 类名
有什么区别?
2017-02-22
[借用百度知道的提问]
Interface B{
public void show();
}
class A implements B{
public void show(){
System.out.println("123");
}
}
main(){
B b =new A(); //正确的应该是这样的
System.out,println(b.show());
}
我想问的是:把上面的B b =new A(); 改成 A a = new A(); 上面的A也实现了接口B,为什么不能直接创建A的对象呢? 并且我用 A a = new A();编译过,同样能打出123
为什么一定要是: 接口 对象名 = new 类名; 的形式,
而不能是: 类名 对象名 = new 类名; 的形式?
求大神~~~
举报