抽象方法:
- 仔细观察以下代码有什么问题
public abstract class GZ(){
public void show(){
//...
}
}
分析:
抽象方法,我们来看,这是我们写的一个输出输出信息的方法,输出信息的方法,这个方法呢,我们在每个子类当中都有不同的事情,如果在每个子类当中都都有不同的实现的话,也就意味着他在负类当中的实现是没有意义,这种情况下我们去,如何把父类的这个方法,去定义层,没有带哪块儿的,方法,这就需要我们用抽象方法,什么是触觉方法,语法比较简单,只需要在方法返回值的前面加上LSITY。
抽象方法的特点:
- 抽象方法没有方法体
- 抽象方法必须定义在抽象类中
- 抽象方法必须在非抽象子类中被重写
- public abstract void show();
代码理解:
父类代码如下:
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();
}
子类代码如下:
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类为抽象类,修改配置类里面的方法为抽象方法输出相关信息。