一、抽象类(abstract)
自上而下的继承层次结构,作为派生其他类的基类。使用extends继承,可以进行扩展,具有通用性。包含一个或多个抽象方法的类本身必须被声名为抽象的。抽象类中可以包含具体数据和具体方法,抽象类不能直接被实例化。
意义:例如person抽象类,可以包含个人的基本信息域(姓名,年龄,性别......),及其设置、获取的方法。现在我们需要创建不同行业的人的信息,可以统统继承person抽象类。对于不同行业的人描述信息不一样,所以可以定义一个getDescription()用于返回描述信息,其实现交给实现此抽象方法的子类 例子:
新建Person抽象类(我的抽象类放在com.inter包的Person.java中):
package com.inter;
public abstract class Person {
public Person(String name){
this.name = name;
}
public String getName(){
return name;
}
public abstract void getDescription();//定义抽象方法
private String name;
}
新建Student类,用于实现Person抽象类(我放在com.bean包的Student,java中):
package com.bean;
import com.inter.*;
public class Student extends Person{
public Student(String name,int tall){
super(name);//调用父类的构造方法
this.tall = tall;
}
public int getTall(){
return tall;
}
public void getDescription(){
System.out.println("攻城狮:"+this.getName()+"\n身高:"+this.getTall()+"cm");
}
private int tall;
}
1、在主类中直接测试抽象类(我的放在com.test包的test.java下)
package com.test