黑马程序员技术交流社区

标题: 对抽象类和抽象方法的思考 [打印本页]

作者: alee    时间: 2014-8-13 21:52
标题: 对抽象类和抽象方法的思考
abstract类:如:abstract class Animal{}
                                抽象类,不能创建对象(如一些父类),但是可以声明一个抽象类型的引用
                                (可以声明父类类型子类对象,编译时利用多态调用抽象方法)。
                                含有抽象方法的类一定是抽象类,但抽象类并不一定要有抽象方法;
                                抽象类一般是用来被继承的;子类继承自抽象类,就要实现里面的抽象方法,
                                如果不想让子类也是抽象类的话,必须实现父类里面所有的抽象方法。
                                抽象类有构造方法,有父类,也遵循单继承的规律。
       
        abstract方法:如:public abstract void sleep();
                抽象方法,只有方法名的定义,没有实现体(只定义了能做什么,没定义怎么做),不能被调用,
                                用于被子类的方法覆盖或重新实现。只能放在抽象类中。
                                好处:允许方法的定义和实现分开。
                                public  protected  default  private  static final  abstract
                               可以: public static
                                   private static
                                public final
                               public static final
                             不可以:abstract final void eat();  
                 private abstract void eat();
                 static abstract void eat();
                 abstract不能和final,private,static连用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2