在解决实际问题中,常常将被继承的父类定义为抽象类,其功能都由各个子类去实现;
定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;
注意点:
1,包含一个抽象方法的类是抽象类;
2,抽象类和抽象方法都要用abstract关键字修饰;
3,抽象方法只需要声明而不需要实现;
4,抽象类必须被子类(假如不是抽象类)必须重写抽象中的全部抽象方法;
5,抽象类不能被实例化;
1.我们先定义一个抽象类(父类);
package m10d29;
public abstract class People {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//定义一个抽象方法,具体内容由子类去实现
public abstract void say();
}
抽象类,定义一个属性name 以及抽象方法say(),具体实现让子类去实现;
2.再定义两个子类;
package m10d29;
public class Student extends People{
public void say() {
System.out.println("职业是"+this.getName());
}
}
package m10d29;
public class Teacher extends People{
public void say() {
System.out.println("职业是"+this.getName());
}
}
3.再建立一个测试类Test;
package m10d29;
public class Test {
public static void main(String[] args) {
Student s=new Student();
s.setName("学生");
s.say();
Teacher t=new Teacher();
t.setName("老师");
t.say();
}
}
输出结果为:
职业是学生
职业是老师