[关闭]
@liruiyi962464 2017-03-21T01:18:07.000000Z 字数 973 阅读 455

面向对象 抽象类

java

抽象类的概念和作用

抽象的定义

  • 抽象是把多个事物的共性的内容抽取出来,本质就是把我们关注的内容抽取出来

抽象类

  • java中可以定义没有方法体的方法,该方法由其子类来具体实现,该没有方法体的方法我们称之为抽象方法,含由抽象方法的类我们称为抽象类

抽象方法特点

-只有方法头没有方法体的方法称为抽象方法
-抽象方法用abstract来修饰
-抽象方法代表一种不确定的操作或行为
-抽象方法不能被调用

抽象类特点

  • 不能被实例化,只能作为父类被继承
  • 反面是具体类
  • 有抽象类的方法的类,必须作为父类被继承
  • 相反,抽象类可以不含有抽象方法
  1. //A是一个抽象类
  2. public abstract classA{
  3. public void methodA(){
  4. }
  5. //methodB是一个抽象方法
  6. public abstract void methodB(){
  7. }
  8. }

抽象类(父类)

  1. //抽象类
  2. public abstract class Employee {
  3. private String id;
  4. private String name;
  5. private double salary;
  6. //抽象方法:没有方法体 用abstract锈蚀
  7. public abstract void work();
  8. //抽象类可以有具体方法
  9. public void play(){
  10. System.out.println("play happy");
  11. }
  12. }

子类1

  1. public class AndroidEmp extends Employee{
  2. /*
  3. * 当子类继承抽象类的时候:俩种选择
  4. * 1、实现抽象类的抽象方法
  5. * 2、往子类添加一个abstract
  6. * */
  7. public void work() {
  8. System.out.println("Android 工程师");
  9. }

子类2

  1. public class AndroidEmp extends Employee{
  2. /*
  3. * 当子类继承抽象类的时候:俩种选择
  4. * 1、实现抽象类的抽象方法
  5. * 2、往子类添加一个abstract
  6. * */
  7. public abstract class JavaEmp extends Employee{
  8. }

测试类

  1. public class Test {
  2. public static void main(String[] args) {
  3. AndroidEmp aEmp = new AndroidEmp();
  4. aEmp.work();
  5. Employee emp = new Employee();//编译失败
  6. }
  7. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注