java抽象类

我们先说抽象类的概念
抽象类陈述的是一种概念 比如 动物
但动物有很多种 抽象的 不具体的
我们可以说 这个类描述动物 那么 他就可以是猫 也可以说是狗

我们还是先写代码
先创建一个包 包下面放三个文件
animal 动物类
参考代码如下啊

public abstract class animal {
    public abstract void eatSomething();
}

eatSomething和以往的方法不太一样 因为他没有方法体 abstract 声明一个抽象方法 抽象方法必须在抽象类里 如果普通 类 声明抽象方法 则直接报错

然后 我们创建一个 cat 猫类
cat 类 参考代码如下

public class cat extends animal {
    public void eatSomething(){
        System.out.println("吃鱼");
    }
}

此时 我们 cat 猫类 继承了animal 动物类 这就是抽象类的一种具体化 动物 猫
然后上面写的eatSomething方法 是吃东西的行为 那猫吃鱼啊 所以我们猫类 实现eatSomething就输出吃鱼
然后我们 创建text测试类
text参考代码如下

public class text {
    public static void main(String args[]) {
        cat cat = new cat();
        cat.eatSomething();
    }
}

text 实例化了cat 猫类对象 调用了cat 类的eatSomething方法
运行结果如下

在这里插入图片描述
整个过程非常顺利
还有几个需要注意的

第一 抽象类是不能被实例化的 在其他类实例化抽象类 则直接报错 抽象类只能被继承 不能被实例化

第二 抽象类中除了抽象方法 也可以有普通方法
在这里插入图片描述
如图所见 抽象类中写普通方法 是不会有问题的 但抽象类还是尽可能放抽象方法 比较符合规范

第三 继承抽象类的类 必须重写实现抽象类中的所有抽象方法
在这里插入图片描述
可以看到 cat 类只要 去掉 eatSomething 方法 就会报错 因为他继承了animal抽象类 就必须重写animal中所有的抽象方法

第四 抽象类继承抽象类 就不需要重写父类的抽象方法
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值