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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-7-1 18:37  /  412 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

abstract
  1. /**
  2. Abstract 抽象方法

  3. 当多个类中出现相同功能,但功能主体不同
  4. 可以惊醒向上抽取,这是,只抽取功能定义,而不抽取功能主体。

  5. 抽象类的特点:
  6. 1、抽象方法一定定义在抽象类中
  7. 2、抽象方法和抽象类都必须被abstract关键字修饰
  8. 3、抽象类不可以使用new的创建对象。因为调用抽象方法无意义
  9. 4、抽象类中的抽样方法要被覆盖使用,必须由子类复写起所有的抽象方法后,建立子类对象调用
  10.         如果子类只覆盖部分抽象方法,那么该子类必须还是一个抽象类(abstract修饰)
  11. */

  12. abstract class Student
  13. {
  14.         abstract void study();
  15.         abstract void study1();
  16. }

  17. //abstract BaseStudent  //子类未完全覆盖父类抽象方法时,必须用abstract修饰
  18. class BaseStudent extends Student
  19. {
  20.         void study()
  21.         {
  22.                 System.out.println("Base study");
  23.         }
  24. //        void study1(){}  //若该语句存在,则父类抽样方法完全复写,可不用abstract修饰子类
  25. }

  26. abstract class AdvStudent extends Student /*父类抽样方法没有完全复写,用abstract修饰*/
  27. {
  28.         void study()
  29.         {
  30.                 System.out.println("Advanced study");
  31.         }
  32. }

  33. class AbstractDemo
  34. {
  35.         public static void main(String[] args)
  36.         {
  37.         //        Student s = new Student(); //抽象类,无法用new实例化
  38.                 System.out.println("Hello World!");
  39.         }
  40. }
复制代码



抽象方法未完全覆盖错误.png (6.57 KB, 下载次数: 7)

抽象方法未完全覆盖错误.png

抽象类无法实例化.png (21.53 KB, 下载次数: 7)

抽象类无法实例化.png

2 个回复

倒序浏览
谢谢分享,楼主。
回复 使用道具 举报
谢谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马