您的位置:首页 > 其它

抽象类和抽象函数

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();
}

}
如果一个类当中包含有抽象函数,那么这个类必须声明为抽象类
如果一个类当中没有抽象函数,那么这个类也可以被称为抽象类

抽象函数里面可以有构造函数
抽象函数不能生成对象,但是可以有构造函数
使用抽象类,避免在其子类中忘记复写父类中的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: