黑马程序员:Java基础总结
抽象类
抽象类:
1、特点:
由abstract修饰,描述类和方法;作为方法的声明,不具体实现
抽象类至少含有一个抽象方法,可有非抽象方法,但不可被实例化,
子类单继承抽象父类,必须实现所有抽象方法才能实例化,否则子类仍为抽象的。
2、细节:
1.抽象类可以有构造函数,是用于对子类对象的初始化
2.可定义非抽象方法:抽象类是对事物的描述,只是含有不具体的功能而已,所以抽象类仍需定义属性和行为的。
3.abstract不可以和final,private,static共存。
4.抽象类中可不定义抽象方法,抽象的目的是为了不让该类创建对象。
5.子类继承抽象父类的非抽象方法
abstract
class
fu {
private
fu() {
}
// ok
fu(
int
a) {
}
static
void
show(){}
//ok
//abstract int show(); //向上重名
abstract
int
show(
int
a);
//ok
}
public
class
Test01 {
public
static
void
main(String[] args) {
//fu f = new fu(); //无法实例化抽象
zi z =
new
zi(1);
z.show();
//子类继承抽象父类的非抽象方法
}
}
//继承
abstract
class
zia
extends
fu{
zia(
int
a) {
super
(a);
//
TODO
Auto-generated constructor stub
}
}
class
zi
extends
fu{
zi(
int
a) {
super
(a);
//
TODO
Auto-generated constructor stub
}
@Override
int
show(
int
a) {
//
TODO
Auto-generated method stub
return
0;
}
}