抽象类学习

package com.tu.oop.demo8;

//abstract 抽象类:类 extends:单继承~ (接口可以多继承)
public abstract class Action {

//约束~有人帮我们实现~
//abstract,抽象方法,只有方法名字,没有方法的实现!
public abstract void doSomething();

//1、抽象类不能new这个抽象类,只能靠子类去实现它:它只是一个约束!
//2、抽象类中可以写普通的方法(是抽象的类不一定要有抽象方法)
//3、抽象方法必须在抽象类中(有抽象方法的类一定是抽象类)
//抽象的抽象:约束~
/**
* 抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。
* 在继承了抽象类的子类中通过super()或super(参数列表)调用抽象类中的构造方法。
*/
//思考题?抽象类存在构造器吗?
/*
存在构造器:即使你没有提供任何构造函数,编译器将为抽象类添加默认的无参数的构造函数,
没有的话你的子类将无法编译,因为在任何构造函数中的第一条语句隐式调用super()
*/
//抽象类存在的意义? 抽象出一个对象的公用属性,继承抽象类重写它的方法,减少代码的开发,提高开发效率
}
posted @   tuyin  阅读(40)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示