首页 > 编程语言 >Java-抽象方法

Java-抽象方法

时间:2025-01-19 13:29:35浏览次数:3  
标签:Java name age 抽象 void 抽象类 方法 public

抽象方法:

●抽象方法:将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。

●抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类

●抽象方法的定义格式:

public abstract 返回值类型 方法名(参数列表);

●抽象类的定义格式:

public abstract class类名{}

代码演示:

public abstract class chou {
    public abstract void chouxiang();
    
}

抽象类和抽象方法的注意事项:

抽象类不能创建对象

抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类

可以有构造方法

抽象类的子类:

要么重写抽象类中的所有抽象方法

要么是抽象类

代码演示:

1.public class text {
    public static void main(String[] args) {
        qingwa qw = new qingwa("小绿",1);
        System.out.println(qw.getName()+","+qw.getAge());
        qw.eat();
        qw.he();
    }
}


2.abstract class dongwu{
    private String name;
    private int age;


    public dongwu() {
    }

    public dongwu(String name, int age) {
        this.name = name;
        this.age = age;
    }


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public int getAge() {
        return age;
    }


    public void setAge(int age) {
        this.age = age;
    }

    public void he(){
        System.out.println("喝水");
    }
    public abstract void eat();
}



3.class qingwa extends dongwu{
    public qingwa() {
    }

    public qingwa(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("青蛙再吃虫子");
    }

}

4.class dog extends dongwu{
    public dog() {
    }

    public dog(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("狗在吃骨头");
    }

}

5.class shanyang extends dongwu{
    public shanyang() {
    }
    public shanyang(String name, int age) {
         super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("山羊在吃草");
    }
}

抽象类和抽象方法的意义

疑问:

把子类中共性的内容抽取到父类之后,

由于方法体不确定,需要定义为抽象。子类使用时需要重写。

那么我不抽取到父类,直接在子类写不是更节约代码?

原因

在开发项目中很多时候是一个团队在开发,如果方法直接写在子类中,那么另一个人调用时就需要去子类看一下方法名,而抽象类把方法直接统一化,这样就不用在去看子类的方法名了。

标签:Java,name,age,抽象,void,抽象类,方法,public
From: https://blog.csdn.net/2302_80073130/article/details/145240853

相关文章

  • java—接口
    接口:是一种规则,是对行为的抽象。接口的定义和使用接口用关键字interface来定义publicinterface接口名{}接口不能实例化接口和类之间是实现关系,通过implements关键字表示publicclass类名implements接口名{}接口的子类(实现类)要么重写接口中的所有抽象方法要么是抽......
  • leetcode——三数之和(java)
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输......
  • HTTP 常用方法解析
    一、HTTP协议简介HTTP,即超文本传输协议(HyperTextTransferProtocol),是互联网通信的基石,广泛应用于Web浏览器与服务器之间的数据交互。它构建起客户端与服务器沟通的桥梁,使得我们能够流畅地浏览网页、获取各类信息资源,从新闻资讯、社交媒体到在线购物、视频娱乐,几乎所有网络......
  • Java初学者笔记-05、集合框架
    集合体系集合是可变长的。Collection:代表单列集合,每个元素包含一个值。Map:代表双列集合,每个元素包含两个值。Collection集合List系列集合:添加的元素是有序、可重复、有索引。ArrayList、LinekdList:有序、可重复、有索引。Set系列集合:添加的元素是无序、不重复、无索......
  • 基于java+springboot的搞笑视频分享浏览小程序
    课题说明以下是基于Java+SpringBoot的搞笑视频分享浏览小程序的介绍:这个小程序利用Java语言和SpringBoot框架开发,为用户打造了一个轻松有趣的搞笑视频分享和浏览平台。用户可以在平台上上传各种搞笑视频,系统会对视频进行存储和管理,包括对视频的分类(如短剧、段......
  • java 方法的定义
    什么是方法(类似于函数)System.out.println()//调用系统out中的println方法类对象方法方法的定义及调用方法定义:修饰符:public,static,....返回值:int,void...方法名:驼峰命名规则参数类型:(形参—用来定义参数add(inta,intb)——inta,intb),(实参—实际传递......
  • 【电动汽车响应率】考虑的是针对电动汽车充放电调度问题,由于放电奖励不同导致部分车主
     ......
  • 分时电价环境下用户负荷需求响应分析方法(Matlab代码实现)
    ......
  • 【双层优化】分布式光伏储能系统的优化配置方法【IEEE33节点】(Matlab代码实现)
          ......
  • 在js中函数返回多个值有哪些方法?
    在JavaScript中,函数本身不能直接返回多个值,但可以通过一些技巧和模式来模拟这一行为。以下是一些常见的方法:使用数组:将多个值放入一个数组中,并返回该数组。这是最简单和最常用的方法。functiongetMultipleValues(){return[1,'two',true];}const[value1,value2......