Java中得抽象-----abstract
来源:互联网 发布:土建造价软件 编辑:程序博客网 时间:2024/05/17 09:41
Java中抽象类和抽象方法的区别
抽象方法:在类中没有方法体的方法,就是抽象方法。
抽象类:含有抽象方法的类就叫抽象类。
抽象类中的抽象方法必须被实现!
如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类!
抽象类中的普通方法,可以不必实现。
1 用abstract来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。例如 :
1
abstract
class
Animal {
//用abstract来定义一个Animal为抽象类
2
}
3
和
4
public
abstract
void
enjoy();
//用abstract来定义一个抽象方法"enjoy"
2 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
3 抽象类不能被实例化。
4 抽象方法只需声明,而不需实现某些功能。如:
1
public
abstract
void
enjoy();
//这个抽象方法不需要实现功能
2
3
public
void
enjoy() {
4
System.out.print(
"叫声"
);
//而一般的方法有必要实现某些功能
5
}
例A:没抽象类的多态程序
1
class
Person {
2
public
void
f() {
3
System.out.println(
"父类"
);
4
}
5
}
6
7
class
Students
extends
Person {
8
public
void
f() {
9
System.out.println(
"学生类"
);
10
}
11
}
12
13
class
Teacher
extends
Person {
14
public
void
f() {
15
System.out.println(
"教师类"
);
16
}
17
}
18
19
public
class
Test3 {
20
public
static
void
main(String[] args) {
21
Person s =
new
Students();
22
Person t =
new
Teacher();
23
s.f();
24
t.f();
25
}
26
}
例B:抽象类的多态程序
1
abstract
class
Person {
2
public
abstract
void
f();
3
}
4
5
class
Students
extends
Person {
6
public
void
f() {
7
System.out.println(
"学生类"
);
8
}
9
}
10
11
class
Teacher
extends
Person {
12
public
void
f() {
13
System.out.println(
"教师类"
);
14
}
15
}
16
17
public
class
Test3 {
18
public
static
void
main(String[] args) {
19
Person s =
new
Students();
20
Person t =
new
Teacher();
21
s.f();
22
t.f();
23
}
24
}
0 0
- Java中得抽象-----abstract
- java中abstract抽象概念的使用
- java Abstract(抽象)详解
- Java抽象类abstract
- Java 抽象(abstract)
- java abstract抽象类
- Java--抽象类(abstract)
- java 抽象 abstract关键字
- java-abstract(抽象类)
- Java 抽象类abstract
- Java中abstract抽象类 / abstract抽象方法 和C++的对比
- Java中关于抽象类abstract class的疑问
- 【黑马程序员】java中--------------抽象类(abstract)接口(interface)
- Java中 关键字final,抽象类abstract, 接口interface ,多态
- Java中接口interface与抽象类abstract
- java abstract抽象类学习
- java抽象类(abstract)
- JAVA——abstract(抽象)
- laravel 项目-基础1
- 算子操作 学习
- linux---crontab用法
- 数据结构之线性表——循环链表(C语言描述)
- TinyOS平台下一些代码的分析
- Java中得抽象-----abstract
- HAWQ取代传统数仓实践(二)——搭建示例模型(MySQL、HAWQ)
- Linux(Ubuntu)命令拾遗
- 仅改2处配置, 令mybatis兼容多种数据库(非专业方案, 源自官方支持)
- java-回调机制
- (转载)Linux如何编译安装源码包软件
- 1020. 月饼 (25) PAT
- LEETCODE 47. Permutations II
- ubuntu16.04卸载qt4安装qt5经过