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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李志群 中级黑马   /  2012-10-7 19:27  /  1394 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类:
       
抽象类的特点:
1,没有方法体的方法是抽象方法,一定定义在抽象类中,
2,抽象类和抽象方法必须用abstract关键字所修饰。
3,抽象类不可以被实例化。 为啥?因为调用抽象方法没有意义,没有方法体。
4,抽象类必须由其子类覆盖掉所有的抽象方法后,其子类才可以 进行实例化。
   否则,该子类还是一个抽象类。

细节问题;
1,抽象类一定是父类?
    是,
2,抽象类是否有构造函数?
   有,因为是给子类对象提供初始化动作的。
3,抽象类中是否可以不定义抽象方法?
   可以的。目的是不让其该类创建对象。调起来没有意义。这中情况在java的
   体系中就有存在。没有抽象方法的抽象类 windowAdapter

4,抽象关键字不能和那些关键字共存。
   final:类上修饰了final的话 就不可以被继承

   private:抽象类中的方法如果被私有了,那么继承的子类就无法覆盖其抽象类。

   static:如果抽象类中的抽象方法修饰为静态,那么调用此类就直接用类名点调用,就不需要对象了。。。


一般类和抽象类有什么异同呢?
相同之处:一般类和抽象类都用于描述事物,
里面都可以定义属性和行为,以及构造函数。

不同之处:
一般类中不可以定义抽象函数,抽象类可以。
一般类可以被实例化,抽象类不行。

一般类可以被继承,也可以不被继承。
抽象类一定要被继承,需要其子类覆盖所有的抽象方法子类才可以被实例化。

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马