Java入门15——抽象类

今天我们来看抽象类和接口~话不多说,开始正题~


在前面我们学习了继承,我们知道了父类是子类共有的属性,而且子类重写了父类的方法,父类里的方法就不会被具体的使用了,为了防止你不小心调用了父类里被子类重写方法的调用,我们可以用 抽象类 加一层防护~

具体怎么实现呢?我们来一起看代码演示~

首先有个父类是Animal1类,其次有个子类为 Dog2 类,抽象方法具体体现在 eat 这里,抽象类注意看父类~

Animal1 类

java 复制代码
public abstract class Animal1 {
    public String name;
    public int age;
    public Animal1(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public abstract void eat();
}

注意看我们在父类这里加了 abstract ,此时Animal1 为抽象类方法~

Dog2 类

java 复制代码
public class Dog2 extends Animal1{
    public Dog2(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("Dog2.eat()");
    }
}

这里我们重写了 Animal1 类里面 eat 的方法,这是因为抽象方法必须重写!

test1 类

java 复制代码
public class test1 {
    public static void main(String[] args) {
       Animal1 dog = new Dog2("dogy",1);
        System.out.println(dog.name);
        System.out.println(dog.age);
       dog.eat();
    }
}

这里发生了向上转型,这样写是因为抽象类方法不能被实例化~

重点都在这个例子里面,大家下来可以试一试~


下篇博客我们来学习接口,敬请期待------

相关推荐
dreamxian14 分钟前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
Veggie2621 分钟前
【Java深度学习】PyTorch On Java 系列课程 第八章 17 :模型评估【AI Infra 3.0】[PyTorch Java 硕士研一课程]
java·人工智能·深度学习
weisian15122 分钟前
Java并发编程--19-ThreadPoolExecutor七参数详解:拒绝Executors,手动掌控线程池
java·线程池·threadpool·七大参数
csdn56597385029 分钟前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar
妄汐霜33 分钟前
小白学习笔记(spring框架的aop和tx)
笔记·学习
Demon_Hao1 小时前
JAVA通过Redis实现Key分区分片聚合点赞、收藏等计数同步数据库,并且通过布隆过滤器防重复点赞
java·数据库·redis
Dxy12393102161 小时前
JS发送请求的方法详解
开发语言·javascript·ecmascript
华科易迅1 小时前
Spring装配对象方法-注解
java·后端·spring
sw1213891 小时前
C++中的代理模式实战
开发语言·c++·算法
難釋懷1 小时前
Lua语法入门-条件控制、函数
开发语言·junit·lua