学Java第三十四天-----抽象类和抽象方法

一、定义

各个子类的相同方法所包含的内容是不一样的,这时候要用到抽象方法。其实和前面的方法重写@Override是一样的,只不过****抽象方法能做到强制程序员重写方法

二、注意事项

注意:虽然抽象类不能创建对象,但还是要写构造函数,因为抽象类的子类在创建对象时要有属性。所以不管是子类还是父类都要有构造函数。

三、代码示例

1、动物类---父类

java 复制代码
package com.abstractclass.demo2;

public abstract class Animal {
    private String name;
    private int age;

    public Animal() {
    }

    public Animal(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 drink(){
        System.out.println("动物在喝水");
    }

    public abstract void eat();
}

2、青蛙类-----子类

java 复制代码
package com.abstractclass.demo2;

public class Frog extends Animal{

    public Frog() {
    }

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

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

3、狗类-----子类

java 复制代码
package com.abstractclass.demo2;

public class Dog extends Animal{

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

    public Dog() {
    }

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

4、山羊类-----子类

java 复制代码
package com.abstractclass.demo2;

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

    public Goat() {
    }

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

注意:1、子类也必须要有构造函数,有参+无参的都要,不然无法创建对象。

2、出现红色波浪线时,先用鼠标点击波浪线,再输入Alt+回车

四、意义

五、总结

相关推荐
程序员黑豆7 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年8 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
2603_965148118 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
小席是个热心肠8 小时前
AI相关的自我学习
java·人工智能·学习
知无不研11 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
数智化管理手记11 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
cfm_291411 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统12 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
C++ 老炮儿的技术栈12 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐