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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SHISY 中级黑马   /  2015-6-11 22:09  /  101 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.抽象定义:
抽象就是从多个事物中将共性的,本质的内容抽取出来。
(例:狼和狗共性都是犬科,犬科就是抽象出来的概念。)
2.抽象类定义:
包含抽象方法的类就是抽象类。
抽象类不一定包含抽象方法。
类/抽象类不一定包含方法。
抽象类可以有非抽象方法。
3.抽象方法定义:
多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法。
例如:狼和狗都有吼叫的方法,可是吼叫内容是不一样的。所以抽象出来的犬科虽然有吼叫功能,但是并不明确怎样吼叫。
4.格式:抽象类与抽象方法均需要使用abstract关键字。
抽象方法格式:
      修饰符 abstract 返回值类型   函数名(参数列表) ;
抽象类格式:
    修饰符 abstract class 类名{}
5.特点: (1)a.抽象类本身无法实例化。
b.抽象类通过多态的形式创建其子类实例对象。
c.子类需要将抽象父类的抽象方法均覆盖才可以实例化,否则依然是抽象类。(子类继承抽象类要么是抽象类,要么重写所有的父类抽象方法)
d.抽象类强制子类必须实现抽象方法。
           (2).成员特点:
成员变量:可以是变量也可以是常量
构造方法:有构造方法,但是不能实例化
(构造方法的作用是用于子类访问父类数据的初始化)
成员方法: 可以有抽象方法 限定子类必须完成某些动作
也可以有非抽象方法 提高代码服用性
6. abstract不能与如下关键字共存
final :抽象类需要继承,final修饰的无法继承
static :抽象类抽象方法无方法体,调用无意义
private:抽象类的方法需要被覆盖,如果private修饰的话,子类无法访问

0 个回复

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