Java面向对象-抽象类
定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;
注意点:
1,包含一个抽象方法的类是抽象类;
2,抽象类和抽象方法都要用abstract关键字修饰;
3,抽象方法只需要声明而不需要实现;
4,抽象类必须被子类(假如不是抽象类)必须重写抽象中的全部抽象方法;
5,抽象类不能被实例化;
我们先来定义一个抽象类:
package com.java1234.chap03.sec11; /** * 定义一个抽象类People * @author user * */ public abstract class People { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void say(){ System.out.println("我的姓名是:"+this.getName()); } /** * 定义一个抽象方法 职业 让子类去具体实现 */ public abstract void profession(); }
抽象类,定义一个属性name 以及方法say() 再定义一个抽象方法 profession 具体实现让子类去实现;
我们搞一个测试类:
我么尝试下实例化下People类:
我们会看到 编译出错,不能实例化People类;
我们定义一个Student类,以及一个Teacher类:
package com.java1234.chap03.sec11; public class Student extends People{ @Override public void profession() { System.out.println("职业是:学生"); } }
package com.java1234.chap03.sec11; public class Teacher extends People{ @Override public void profession() { System.out.println("职业是:老师"); } }
我们搞一个测试类:
package com.java1234.chap03.sec11; public class Test { public static void main(String[] args) { Student student=new Student(); student.profession(); Teacher teacher=new Teacher(); teacher.profession(); } }
运行输出:
职业是:学生
职业是:老师
下一篇:Java面向对象-接口