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!");
    }
}
相关推荐
青石路41 分钟前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
像我这样帅的人丶你还4 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev6 小时前
GreenDAO → Room
android·java·kotlin
亦暖筑序11 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏11 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev12 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还1 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩1 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia1 天前
Mybatis的日志输入
java
亦暖筑序1 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式