当前位置: 代码迷 >> J2SE >> JAVA新手的两个有关问题(强制类型转换、接口/抽象类)
  详细解决方案

JAVA新手的两个有关问题(强制类型转换、接口/抽象类)

热度:144   发布时间:2016-04-24 12:48:52.0
JAVA新手的两个问题(强制类型转换、接口/抽象类)
Java code
class test1{  //Body1...  public void fun(){    //Body2...  }}class test2 extends test1{  //Body3...  public void fun(){    //Body4...  }}class test3{  public static void main(String [] args){    test1 test = new test2();//test实际类为test2而引用类为test1    //test1 test = (test1) new test2();是否跟上一行一样?    t1.fun();//调用实际类test2的fun();    (test1)test.fun();//为什么强制类型转换后还调用的test2的fun();?  }} 



接口和抽象类存在的意义是什么?
为什么JAVA中有这两个东西
就是说不用接口有什么后果
比如T1接口中有f();
class test4 implement T1{
  ...
  ...f(...){
  ...
  }
}
我不用T1接口 不行么?

------解决方案--------------------
多态性。
------解决方案--------------------
多继承有缺点
名字冲突问题
------解决方案--------------------
探讨
顺便 问一下
帖子里面的JAVA代码 只能自己空格对齐么?



回帖是一种美德!传说每天回帖即可获得 10 分可用分!

------解决方案--------------------
1.代码中的问题:多态,这是规律,我不知道怎么解释,自己去网上查查
2.接口和抽象类存在的意义是什么?
本论坛有人总结了,见帖子 http://topic.csdn.net/u/20081008/21/dda07aa2-e8a5-417c-88bc-6814b41c5835.html?seed=1986272069
3.就是说不用接口有什么后果?
接口是为了实现多继承的。不用的后果?很严重!
------解决方案--------------------
只要包含抽象方法的类就叫抽象类.
抽象方法由子类继承父类然后自己重写.
如果单一的实现某个接口,那接口和抽象方法基本一样.
如果要用到多个接口,并且这些接口不全在一个类中,那继承抽象类重写抽象方法就不行了.只能用实现接口了.
  相关解决方案