java抽象类和抽象方法

JAVA】《接口,抽象方法抽象类 》之二 、抽象方法详解 接口中的方法通常都是抽象方法,但自从 Java 8 开始,接口也可以包含默认方法(Default Method)静态方法(Static Method)。如果一个类继承了抽象类或实现了接口,并且其中包含抽象方法,**那么子类必须实现这些抽象方法,除非子类自己也声明抽象类。类分别实现了该方法,提供了自己的面积计算逻辑。这样,无论是圆还是矩形,都可以通过统一的方法来计算它们的面积。在编写代码时,应该根据具体的需求设计原则来合理使用抽象方法,确保代码的清晰、可读易于维护。抽象方法不能是私有的或静态的。 阅读详情

一、抽象方法和抽象类的概念和使用

 

在之前的课程中学习了方法的覆写(子类覆写父类的方法),也就是子类可以重写父类的方法,但是这是可选的(你可以覆写也可以不覆写在语法上都不会出现问题的),如果有一个需求:要求父类的某个方法必须被子类覆写,那么就需要将父类的

这个方法定义为抽象方法(强制要求被覆写),如果一个类中出现了抽象方法那么这个类必须定义为抽象类,抽象类和抽象方法的定义语法:

●定义抽象类:  public  abstract    class      类名{};

●定义抽象方法: public    abstract    返回值类型    方法名();

[抽象方法没有方法体]

 

DEMO:定义一个抽象类

 

 

以上定义了一个抽象类,可以使用该抽象类实例化一个对象吗?

 

DEMO:使用抽象类实例化对象

 

 

发现了不能使用抽象类的构造方法实例化对象,如果不能实例化对象那么抽象类中的所有操作(属性和方法)都没有任何意义,因为不能访问啊,此时可以通过子类来继承抽象类中的操作,让子类对象去调用。

DEMO:定义抽象类的子类.

 

此时定,义了抽象类的子类,但是要求子类必须覆写父类的所有抽象方法。使用将父类的方法定义为抽象方法的方式来实现强制要求覆写某个方法的目的。

但是有一种情况可以不要求子类覆写父类的所有抽象方法,如果子类也是一个抽象类的时候可以不覆写父类的抽象方法。

 

DEMO:子类是抽象类

 

 

此时可以选择性覆写父类的抽象方法。

 

总结:

1、定义抽象类和抽象方法使用的关键字是“abstract"

2、抽象类被叫做一个不完整的类因为它有自己的构造方法,但是却不能直接实例化对象,他的抽象方法没有方法体。

3、如果子类不是一个抽象类那么必须覆写父类的所有抽象方法

 

面试题:

1、抽象类中可以没有抽象方法吗?

答:可以的

2、如抽象类没有抽象方法,那么可以直接实例化对象吗?

答:不可以,因为没有抽象方法它依然是-一个抽象类

3、抽象类的方法必须被子类覆写吗?

答:不一定,如果子类是一个普通类则必须全部覆写,如果子类是一个抽象类则不强制要求全部覆写父类的抽象方法。

5、抽象类中的抽象方法的abstract关键字可以被省略吗?

答:不可以(但是在后面的接口中可以省略)

最后

学习不要走马观花的学,每个知识重点大纲,就是学习路线都是根据每一天市场上多数公司用到的新技术整理,在学习的时候还需要结合练习题来做这里的话我也将我之前在学习过程中用到的一些学习资料整理成了文档,以及我自身之前的一个面试文案和知识点补充,有需要的朋友可以加我的QQ群697888503这里也希望大家最终都能够学有所成,学习编程不是一天两天的功夫,勤能补拙才是硬道理,祝大家最终都能成为一名合适开发攻城狮。 

 

 

Java中的抽象类抽象方法 父类要体现所有子类的共同特征,在设计某些方法(行为特征或功能)时,我们发现父类中无法给出合理的具体实现,而应该交由子类来实现,那么这样的方法就应该设计为抽象方法,而包含抽象方法的类就必须为抽象类。从另一个角度说,当父类表现为更通用的概念类,以至于创建它的实例对象没有实际意义,那么这样的父类就算没有抽象方法,也应该设计为抽象类。在Java中使用关键字abstract表示抽象。 阅读详情

相关推荐

2021秋-北邮计算机导论期末考试(BUPT)

2021秋-北邮计算机导论期末考试(BUPT) 难度较低适合新手练习

weixin_73985779的博客 1463

list集合去重_集合框架:ArrayList去重

需求:如果集合里出现了姓名年龄都相同的人,就说明是一个人,把重复的去掉First:首先得定义一个person类。Second:定义一个对集合去重的类然后,主函数开始创建集合,给集合里添加person现在输出一下所有元素的姓名年龄,发现拿不到姓名,调不出来getNamegetAge方法,这是为什么?因为al.add 在添加person的时候 add方法的参数是一个object类型,而add里面...

weixin_39762441的博客 216

Java抽象类抽象方法、abstract的使用

抽象类抽象方法、abstract的使用

小贺想改变 2732

java抽象类,abstract关键字

抽象类java语法规定,包含抽象方法的类为抽象类。 abstract关键字:abstract用来定义抽象方法抽象类,定义抽象方法格式为:abstract修饰方法,并去掉大括号,直接以封号结束;定义抽象类的格式为:在class关键字前面加abstract关键字即可;抽象类中也可以定义普通方法。 public abstract class Animals{//1.抽象方法必须写在抽象类中,定义抽象类其格式是在class关键字前面加关键字abstract // 2.定义一个抽象方法: publ

专研前端,探索后端 1772

抽象类抽象方法关键字abstract)

1.抽象类不能被实例化,可以没有,一个或多个抽象方法 2.抽象方法只有方法的声明但没有方法的实现,有抽象方法的类必须声明抽象类,子类必须重写父类所有的抽象方法才能被实例化,否则子类也是个抽象类, 3.abstrat可以用来修饰类方法,但不能修改属性构造函数,但可以有构造方法 转载于:https://www.cnblogs.com/Allen974103107/p/4979573.h...

weixin_30722589的博客 316

List过滤重复的5种方式

目录 1、for循环+contains 2、for循环+set集合 3、set集合的addAll方法 4、list集合转换为set集合 5、JDK1.8的流式处理 备注: 1、for循环+contains public class 判断_contains { public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add("张三"); arrayLis

小程同学 4420

java abstract 关键字 抽象方法抽象类的使用详解

java abstract class 抽象类的使用详解

码农回顾 6382

java抽象类抽象方法

苹果这个具体的水果,它具有的属性为,红色;它具有的方法为,被啃。那么,水果,这个定义,不知阁下又该如何应对?很明显,这是一个抽象的概念,是苹果、香蕉、桃子......的集合,而水果具备的方法,被吃,又该如何描述?是像苹果一样直接啃,核扔掉?还是像香蕉一样拨开皮,吃掉里面的果肉?在java中,可以将苹果视为一个类,水果这种抽象的概念即为抽象类;苹果这个类中,方法,被啃,可以具体执行。水果这个抽象类,方法,被吃,无法具体执行,怎么吃?啃?剥皮?切开?被吃,这个抽象类中的方法即为抽象方法

weixin_74141222的博客 2821

JAVA抽象类抽象方法

类用于描述现实生活中一类事物。类中有属性、方法等成员。父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明方法主体,只有声明还有 意义,而方法主体则没有存在的意义了。某种情况下,父类只能知道子类应该具备一个怎样的方法,但是不能够明确知道如何实现该方法。只能在子类中才能确定如何去实现方法体。例如:所有几何图形都应该具备一个计算面积的方法。但是不同的几何图形计算面积的方式不同。我们把没有方法主体的方法称为抽象方法Java语法规定,包含抽象方法 的类就是抽象类

0 2997

什么是抽象方法 java_java抽象类抽象方法

一、什么是抽象类抽象方法没有具体功能的实现,通过子类继承后重写方法来实现一定约束的类称之为抽象类抽象类必须被abstract修饰。抽象方法就是只有方法声明,没有方法体的方法。抽象类的使用一般通过继承来实现二、为什么需要抽象类抽象方法引用抽象方法抽象类,是java提供的一种语法工具,引导使用者正确的使用它们,减少误用。相当于对子类进行一定限制。三、抽象类抽象方法的语法规则及其注意事项抽象类...

weixin_31750655的博客 1万+

Java抽象类抽象方法

abstract是抽象的意思,用于修饰方法方法类,修饰的方法是抽象方法,修饰的类是抽象类

m0_61196886的博客 1037

java抽象方法声明_java抽象类抽象方法

一、什么是抽象类抽象方法没有具体功能的实现,通过子类继承后重写方法来实现一定约束的类称之为抽象类抽象类必须被abstract修饰。抽象方法就是只有方法声明,没有方法体的方法。抽象类的使用一般通过继承来实现二、为什么需要抽象类抽象方法引用抽象方法抽象类,是java提供的一种语法工具,引导使用者正确的使用它们,减少误用。相当于对子类进行一定限制。三、抽象类抽象方法的语法规则及其注意事项抽象类...

weixin_42614269的博客 6991

Java抽象类及其抽象方法

抽象类:public abstract class 类名{}抽象方法:public abstract 返回值类型 方法名(参数列表);

m0_67575174的博客 1166

java抽象方法抽象类

abstract是抽象的意思,用于修饰方法方法类,修饰的方法是抽象方法,修饰的类是抽象类

wuwei52013141的博客 384

【老白学 Java抽象类抽象方法

在上一篇文章中,老白见识到了多态的威力,学会了如何应用多态。 随着学习的深入,老白认为那些不过是多态的基本招式,接口才是真正的绝招。 接下来老白将继续探索 Java 的接口,不过在这之前,首先需要弄清楚什么是抽象类

枯木逢春犹再发,人无两度再少年 1171

Java抽象类抽象方法

本文详细介绍了Java抽象类抽象方法的概念以及使用方法,同时与Java接口进行了对比,分析二者不同的使用场景。

yizhiermu的博客 1224

Java中的抽象类抽象方法

本文详细解释了 抽象类抽象方法 的概念与使用,并深入介绍了 抽象类抽象方法 的注意事项细节,同时也介绍了模板设计模式,希望小伙伴们看后能有所收获!最后,如果本文有什么错漏的地方,欢迎大家批评指正!一起加油!!我们下一篇博文见吧!

林二月的博客 2431

java抽象类中的方法都是抽象方法吗_抽象方法必须在抽象类中吗

抽象方法必须在抽象类中吗2020-07-01 15:01:18文/叶丹1、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。2、Final类中的属性方法都必须被final修饰符修饰。3、最终类不能派生子类,最终方法不能被覆盖。4、子类要调用父类的方法,必须使用super关键字抽象方法java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称所需的...

weixin_31518415的博客 1万+

【信息系统项目管理师】第1章:信息化发展 考点梳理

本文主要详细梳理高项:信息化、新型基础设施建设、两化融合、数字中国、数字化转型与元宇宙等内容。

数据知道的博客 8527

快意电梯CTRL20调试工.pdf

快意电梯CTRL20调试工.pdf

上一篇: JDK的安装与环境变量配置图文教程
下一篇: Java向上转型和向下转型
码邦主
博客等级 码龄7年 46粉丝 71原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值