抽象类和抽象函数
2015-11-22 09:36
267 查看
抽象类和抽象函数
类是抽象的,对象是具体的
比类更抽象的是抽象类
抽象方法:
抽象方法特点:
使用特点:
细节:
抽象类和普通类区别?
抽象类:
类是抽象的,对象是具体的
比类更抽象的是抽象类
抽象方法:
定义:只有函数的定义,没有函数体(函数体即是{ })的函数称为抽象函数 例 abstract void fun();
抽象方法特点:
抽象方法和抽象类用abstract修饰; 抽象方法在一个类中,这个类必须是抽象类; 抽象方法没有方法体; 抽象类不能实例化;(无法创建对象)
使用特点:
子类必须实现父类的抽象方法,否则子类还是抽象类,不能实例化;、
细节:
抽象类有没有构造函数? 有构造函数,--->提供给子类 抽象类是否一直以父类形式使用? 是(抽象类继承抽象类) 不能和哪些关键字同时存在? static:抽象方法属于对象,不能使用static修饰 private:private只能被当前类使用,无意义 final:抽象必须被继承,而final不能重写,类不能被继承
抽象类和普通类区别?
抽象类不能实例化,普通类可以 抽象类可以有抽象方法,也可以有普通方法,但是普通方法只能有普通方法 抽象类必须被继承;普通类可被继承,也可不被继承
抽象类:
定义:使用abstract定义的类称之为抽象类 注意:如果一个类中含有一个或一个以上的抽象方法,那么这个类必须为抽象类 抽象类: 注意 : 抽象类不能生成对象,(即抽象类不能被调用,不能实例化) (抽象类的子类可以生成对象) (抽象函数可以被继承,然而子类必须声明为抽象类 例子: abstract class Persion(){ void eat(); } abstract class Chinese extends Persion{ } 或者重写父类中的方法(因为重写后有了方法体)) 例子: abstract class Persion(){ void eat(); } class Chinese extends Persion{ void eat(){ syso("吃饭") } } class test(){ public static void main(){ Persion p = new Chinese();//向上转型 p.eat(); } } 如果一个类当中包含有抽象函数,那么这个类必须声明为抽象类 如果一个类当中没有抽象函数,那么这个类也可以被称为抽象类 抽象函数里面可以有构造函数 抽象函数不能生成对象,但是可以有构造函数 使用抽象类,避免在其子类中忘记复写父类中的方法
相关文章推荐
- 继承:extends
- AltiumDesigner05——常见芯片的封装类型
- 我的第一个JAVA程序
- this
- C++11 你真的会用迭代器(iterator)么?
- 构造函数/方法
- HDU 1698 Just a Hook
- 【c#】——入门初观
- 等额本金-逆推
- static
- jQuery 选择器
- java中数据的默认属性
- 函数重载
- Caused by: java.lang.NoClassDefFoundError: com/tansuosoft/discoverx/common/Config
- java webservice服务器端获取request对象的三种方式
- 关于 QListWidget IconMode的使用
- 显示程序运行时间
- 2015年研究生数模[D]的后记
- 【Leetcode】Sum Root to Leaf Numbers
- 显示当前日期和时间