Java中抽象类和抽象方法的区别
2024-08-23 22:22:18
抽象方法:在类中没有方法体的方法,就是抽象方法。
抽象类:含有抽象方法的类就叫抽象类。
抽象类中的抽象方法必须被实现!
如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类!
抽象类中的普通方法,可以不必实现。
1.用abstract来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。例如 :
抽象类:
abstract class Animal { //用abstract来定义一个Animal为抽象类}
抽象方法:
public abstract void enjoy(); //用abstract来定义一个抽象方法"enjoy"
2 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
3 抽象类不能被实例化。
4 抽象方法只需声明,而不需实现某些功能。如:
//抽象方法
public abstract void enjoy();//这个抽象方法不需要实现功能
//一般方法
public void enjoy() {
System.out.print("叫声"); //而一般的方法有必要实现某些功能
}
例A:没抽象类的多态程序
class Person {
public void f() {
System.out.println("父类");
}
}
class Students extends Person {
public void f() {
System.out.println("学生类");
}
}
class Teacher extends Person {
public void f() {
System.out.println("教师类");
}
}
public class Test3 {
public static void main(String[] args) {
Person s = new Students();
Person t = new Teacher();
s.f();
t.f();
}
}
例B:抽象类的多态程序
abstract class Person {
public abstract void f();
} class Students extends Person {
public void f() {
System.out.println("学生类");
}
}
class Teacher extends Person {
public void f() {
System.out.println("教师类");
}
}
public class Test3 {
public static void main(String[] args) {
Person s = new Students();
Person t = new Teacher();
s.f();
t.f();
}
}
最新文章
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- 10月12号 晚八点 Speed-BI 云平台-基于Excel数据源的管理驾驶舱构建全过程,腾讯课堂开课啦
- CUICatalog: Invalid asset name supplied: (null) _configureCellForDisplay:forIndexPath
- Eval()和DataBinder Eval(Container DataItem,)的区别及用法
- Maximum Subarray 解答
- 安装 SQL Server 2008 R2 的硬件和软件要求(转)
- Vue-cli创建项目从单页面到多页面
- UML之活动图
- mongoDB通过_id删除doc
- 全局JavaScript对象
- 吴裕雄 05-mysql删除数据库
- Jetty使用内存过大的解决方案
- EXCEL行倒叙
- iOS - 开源框架、项目和学习资料汇总(网络篇)
- HTTP协议--请求与响应
- 一个简单的页面弹窗插件 jquery.pageMsgFrame.js
- AutoHotKey入门
- MFC学习(一) MFC基础类及其层次结构
- 关于JAVA编译时找不到自定义包的问题
- 【LeetCode】【动态规划】Edit Distance