Java(十二)抽象类

抽象类

刚刚我们学习了final关键字,而abstract修饰的则正好与final关键字修饰的相反,如果说final关键字代表的意思是:'我已经很完美了,无需再管我了';那么abstract关键字则代表着:'我还是个半成品,你得帮我完成啊!';

也就是说如果一个类中有些方法无法实现或者没有意义,可以将方法定义为抽象方法。类定义为抽象类。这样在抽象类中只提供公共代码,具体的实现强行交给子类去做。

比如说,我现在要定义一个Person类,它有一个打招呼的方法,对于不同的人来说,打招呼的方法也会不同,比如中国人会说:"你好!",而美国人则会说:"hello!";所以Person父类实现这个方法是没有意义的,就可以将这个方法定义为抽象方法,将这个类定义为抽象类

java 复制代码
abstract class Person{
    public abstract void greet();
}

class Chinese extends Person{
    @Override
    public void greet(){
        System.out.println("你好!");
    }
}

class American extends Person{
    @Override
    public void greet(){
        System.out.println("hello!");
    }
}
相关推荐
史呆芬18 小时前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛19 小时前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
易筋紫容19 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
888CC++19 小时前
C++ 快速学习指南:从入门到进阶的实战路线
开发语言·c++
daad77719 小时前
记录matlab状态机demo
java·网络·matlab
小小晓.20 小时前
C++记:函数
开发语言·c++·算法
牡丹雅忻120 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
连续讨伐20 小时前
php小结
开发语言·php
学者猫头鹰20 小时前
Java 8 核心新特性
java
进击的程序猿~20 小时前
Go 并发底层原理面试学习指南
开发语言·面试·golang