抽象方法:

  • 仔细观察以下代码有什么问题
public abstract class GZ(){
    public void show(){
    //...
    }
}

分析:

抽象方法,我们来看,这是我们写的一个输出输出信息的方法,输出信息的方法,这个方法呢,我们在每个子类当中都有不同的事情,如果在每个子类当中都都有不同的实现的话,也就意味着他在负类当中的实现是没有意义,这种情况下我们去,如何把父类的这个方法,去定义层,没有带哪块儿的,方法,这就需要我们用抽象方法,什么是触觉方法,语法比较简单,只需要在方法返回值的前面加上LSITY。

抽象方法的特点:

  • 抽象方法没有方法体
  • 抽象方法必须定义在抽象类中
  • 抽象方法必须在非抽象子类中被重写
  • public abstract void show();

代码理解:

父类代码如下:

Java编程之抽象方法_父类

public abstract class GZ {
    private String name;
    private int age;
    private String sex;
    //姓名
     public String getName(){
         return name;
     }
     public void setName(String a){
         this.name=a;
     }
     //年龄
     public int getAge(){
         return age;
     }
     public void setAge(int b){
         this.age=b;
     }
     //性别
     public String getSex(){
         return sex;
     }
     public void setSex(String c){
         this.sex=c;
     }
     public  void Cc(String a,int b,String c){
         this.setName(a);
         this.setAge(b);
         this.setSex(c);
     }
    public abstract void show();
}

子类代码如下:

Java编程之抽象方法_父类_02

class Demo extends GZ {
    public static void main(String[] args) {

    }
    public void dc(String sex){
        this.setSex(sex);
    }
    @Override
    public void show(){
        System.out.println(super.getName());
        System.out.println(super.getAge());
        System.out.println(super.getSex());
    }
}

解析:

我们现在定在这里边是没有问题的,因为这个,父类是抽象的,当我们把父类的这个abstract去掉的话,我们可以看到报错了,错误的提示信息告诉我们,这个配置类必须是一个抽象类才可以定义抽象方法,也就是说,抽象方法必须包含在抽象类当中,但是抽象类中不一定包含,抽奖方法,好,这是这个特点,当我们这个累,抽象类里面的这个方法定义为抽象方法了以后,我们可以看到,这个就不能再用了,因为他没有实现,他没有方法体,他就报错了。

抽象类可以限制被实例化抽象方法可以起到约束子行为的作用

总结:

这是我们介绍的,抽象方法,抽象方法和抽象类的形式非常简单,大家重点要理解,为什么用抽象类,抽象方法的特点是什么,这个阶段呢,我们就讲到这儿,接下来大家就可以根据我们讲解的知识去练习一下抽象类,抽象类的定义和继承,抽象方法的定义和重写,修改GZ类为抽象类,修改配置类里面的方法为抽象方法输出相关信息。