专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 编程概念之Java抽象类有什么用?

编程概念之Java抽象类有什么用?

更新时间:2020-08-06 16:25:16 来源:动力节点 浏览1655次

2抽象类

2.1概念及案例

假设有一个Employee和Student类,考虑一下对这两个类的扩展。比如每个员工或者学生都有姓名,因此可以将name放在较高层次的超类Person中。另外可以在Person中再添加一个方法getDescription,它可以返回对一个人的描述。因为不知道这个人是学生还是员工,所以该方法是抽象(abstract)的,也就是没有方法体的。

如下代码:

public abstract class Person {
private String name;
public Person(String name){
this.name = name;
}
public String getName() {
return name;
}
public abstract void getDescription();
}

抽象类要使用关键字:abstract

抽象类中除了可以包含抽象方法外,也可以包含具体数据和具体方法。抽象方法充当一个占位的角色。

扩展抽象类可以有两种选择:

Ø一种是在子类中定义部分抽象方法或不定义抽象方法,这样就必须将子类也标记为抽象类;

Ø另一种是定义全部的抽象方法,这样子类就不是抽象的了。

类即使不含抽象方法,也可以将类声明为抽象的,不过这样没有什么意义。

抽象类不能被实例化。也就是说,将一个类声明为abstract,就不能创建这个类的对象了,但是可以创建一个具体子类的对象。需要注意的是,可以定义一个抽象类的对象变量,但是它只能引用非抽象子类的对象:Person p=new Student();//这里p是一个抽象类Person的变量,但他引用非抽象子类Student的实例。

public class Student extends Person{
public Student(String name) {
super(name);
}
@Override
public void getDescription() {
System.out.println("我是一个学生!");
}
}

以上就是动力节点java培训机构的小编针对“编程概念之Java抽象类有什么用?”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>