A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© gjtdxjd 中级黑马   /  2016-6-20 00:46  /  471 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性,例如:
abstract class A {   
         public abstract void doSomething();
}
class B extends A {   
         public void doSomething() {
               System.out.println("do B");
         }
}
class C extends A {
        public void doSomething() {
              System.out.println("do C");
        }
}
public class Test {
      public static void main(Stringp[] args) {
             A a1 = new B();
             A a2 = new C();
             B b = new B();
             C c = new C();
            doSomething(a1); //这里        
            doSomething(a2); //这里         
            doSomething(b); //这里,如果下面的方法不是用抽象类作参数,比如用C c做参数,
                                        //这里会有什么问题?
            doSomething(c); //这里   
     }
         public static void doSomething(A a) {//这里,用抽象类,为什么,自己思考        
               a.doSomething();
         }
}
//这个例子只是抽象类的最基本的设计模式,和接口差不多

2 个回复

倒序浏览
后期一般接口用的比较多,抽象类一般基本不用了,两者功能差不多,接口中所有方法都要重写.
回复 使用道具 举报
还在学习中,过来看下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马