Java中抽象类简单介绍
2023-02-18 16:35:58 时间
在面向对象的概念中:
所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
注意:
- 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
- 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
- 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
- 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
- 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
- 关键字:
abstract
Java语言中使用abstract class
来定义抽象类:
//定义抽象类 abstract
public abstract class Employee{
}
也可以定义抽象方法
//定义抽象类 abstract
public abstract class Employee{
//定义抽象方法 abstract
public abstract void tofangfou();
}
抽象类里可以写普通的方法:
public abstract class Employee{
private String name;
private String address;
private int number;
public Employee(String name, String address, int number){
System.out.println("Constructing an Employee");
this.name = name;
this.address = address;
this.number = number;
}
public double computePay(){
System.out.println("Inside Employee computePay");
return 0.0;
}
public void mailCheck()
{
System.out.println("Mailing a check to " + this.name
+ " " + this.address);
}
public String toString()
{
return name + " " + address + " " + number;
}
public String getName()
{
return name;
}
public String getAddress()
{
return address;
}
public void setAddress(String newAddress)
{
address = newAddress;
}
public int getNumber()
{
return number;
}
}
上面的类没有什么不同,尽管该类是抽象类,但是它仍然有 3 个成员变量,7 个成员方法和 1 个构造方法。
好好理解上面列出的抽象类注意说明!!
相关文章
- SAP R/3,SAP ECC 和 SAP S/4HANA 的联系和区别
- ES 安装、search、index、doc
- Prometheus安装与使用
- 小游戏如何实现变现?
- 「02」xxl-job – 定时任务调度框架 – 开源项目
- docker应用练习
- XXL-JOB访问令牌(AccessToken)设置
- 华为交换机配置笔记
- 华为路由器配置笔记
- 华为设备ACL与NAT技术
- 华为生成树与端口聚合
- X86逆向1:软件逆向系列入门课
- X86逆向2:提取按钮通杀特征码
- X86逆向3:通过修改关键CALL分析
- X86逆向4:VMP壳内寻找注册码
- X86逆向5:分析程序的自效验
- X86逆向6:易语言程序的DIY
- 你了解吗?小游戏和H5小游戏不是一码事
- X86逆向7:特殊窗体的分析思路
- X86逆向8:向程序中插入新区段