首页 > 代码库 > Java面向对象-抽象类
Java面向对象-抽象类
Java面向对象-抽象类
定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;
注意点:
1,包含一个抽象方法的类是抽象类;
2,抽象类和抽象方法都要用abstract关键字修饰;
3,抽象方法只需要声明而不需要实现;
4,抽象类必须被子类继承,(假如不是抽象类)必须重写抽象父类中的全部抽象方法;
5,抽象类不能被实例化;
我们先来定义一个抽象类:
1 package com.java1234.chap03.sec11; 2 3 /** 4 * 定义一个抽象类People 5 * @author user 6 * 7 */ 8 public abstract class People { 9 10 private String name; 11 12 public String getName() { 13 return name; 14 } 15 16 public void setName(String name) { 17 this.name = name; 18 } 19 20 public void say(){ 21 System.out.println("我的姓名是:"+this.getName()); 22 } 23 24 /** 25 * 定义一个抽象方法 职业 让子类去具体实现 26 */ 27 public abstract void profession(); 28 29 }
抽象类,定义一个属性name 以及方法say() 再定义一个抽象方法 profession 具体实现让子类去实现;
我们搞一个测试类:
我么尝试下实例化下People类:
我们会看到 编译出错,不能实例化People类;
我们定义一个Student类,以及一个Teacher类:
1 package com.java1234.chap03.sec11; 2 3 public class Student extends People{ 4 5 @Override 6 public void profession() { 7 System.out.println("职业是:学生"); 8 } 9 10 }
1 package com.java1234.chap03.sec11; 2 3 public class Teacher extends People{ 4 5 @Override 6 public void profession() { 7 System.out.println("职业是:老师"); 8 } 9 10 }
我们搞一个测试类:
1 package com.java1234.chap03.sec11; 2 3 public class Test { 4 5 public static void main(String[] args) { 6 7 Student student=new Student(); 8 student.profession(); 9 10 Teacher teacher=new Teacher(); 11 teacher.profession(); 12 13 } 14 }
运行输出:
职业是:学生
职业是:老师
Java面向对象-抽象类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。