Java编程之抽象方法
【摘要】 ## 抽象方法:
- 仔细观察以下代码有什么问题
```
public abstract class GZ(){
public void show(){
//...
}
}
```
## 分析:
抽象方法,我们来看,这是我们写的一个输出输出信息
的方法,输出信息的方法,这个方法呢,我们在每个子类当
中都有不同的事情,如果在每个子类当中都都有不
抽象方法:
- 仔细观察以下代码有什么问题
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类为抽象类,修改配置类里面的方法
为抽象方法输出相关信息。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)