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!");
    }
}
相关推荐
木子欢儿2 小时前
在 Fedora 上配置 Go 语言(Golang)开发环境
开发语言·后端·golang
超级大只老咪2 小时前
线性递推通用模板
java·开发语言·算法
coNh OOSI2 小时前
Spring Boot问题总结
java·spring boot·后端
Dream of maid2 小时前
Python基础 6 (面向对象)
开发语言·python
ISkp3V8b42 小时前
基于项目工程构建SBOM(软件物料清单)的研究
java·visual studio
郝学胜-神的一滴2 小时前
「栈与缩点的艺术」二叉树前序序列化合法性判定:从脑筋急转弯到工程实现
java·开发语言·数据结构·c++·python·算法
她说..2 小时前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
Mr_Tony2 小时前
Swift 中的 Combine 框架完整指南(含示例代码 + 实战)
开发语言·swift
计算机学姐3 小时前
基于SpringBoot的宠物店管理系统
java·vue.js·spring boot·后端·spring·java-ee·intellij-idea