JAVA抽象类
2021/8/18 20:06:37
本文主要是介绍JAVA抽象类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
抽象方法的概念抽象方法主要指不能具体实现的方法并且使用abstract关键字修饰,也就 是没有方法体。
具体格式如下:
访问权限 abstract 返回值类型 方法名(形参列表);
public abstract void cry();
1.抽象类中可以有成员变量、构造方法、成员方法;
2. 抽象类中可以没有抽象方法,也可以有抽象方法;
3.拥有抽象方法的类必须是抽象类,因此真正意义上的抽象类应该是具有 抽象方法并且使用abstract关键字修饰的类
抽象类的实际意义• 抽象类的实际意义不在于创建对象而在于被继承。
• 当一个类继承抽象类后必须重写抽象方法,否则该类也变成抽象类,也 就是抽象类对子类具有强制性和规范性,因此叫做模板设计模式。
code demo:
public abstract class AbstractTest { private int cnt; public AbstractTest() { } public AbstractTest(int cnt) { setCnt(cnt); } public int getCnt() { return cnt; } public void setCnt(int cnt) { this.cnt = cnt; } // 自定义抽象方法 public abstract void show(); }
public class SubAbstractTest2 extends AbstractTest { @Override public void show() { System.out.println("使用多态方式可以提高代码的可维护性哦!"); } public void test() { System.out.println("第二个子类中独有的方法!"); } }
public class SubAbstractTest extends AbstractTest/*, Account*/ { @Override public void show() { System.out.println("其实我是被迫重写的,否则我也得变成抽象的呀!"); } public static void main(String[] args) { // 1.声明本类类型的引用指向本类类型的对象,没有多态 SubAbstractTest sat = new SubAbstractTest(); sat.show();//调用SubAbstractTes中的show System.out.println("-------------------------------"); // 2.声明AbstractTest类型的引用指向子类的对象,形成了多态 // 多态的使用场合之二: 直接在方法体中使用抽象类的引用指向子类类型的对象 AbstractTest at = new SubAbstractTest2(); // 编译阶段调用父类版本,运行阶段调用子类版本 at.show(); ((SubAbstractTest2) at).test(); System.out.println("-------------------------------"); SubAbstractTest2 sat2 = new SubAbstractTest2(); sat2.test(); } }
这篇关于JAVA抽象类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署