尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
41面向对象(高级)-抽象类
父类方法的不确定性问题当父类的某些方法需要声明但是又不确定如何实现时可以将其声明为抽象方法那么这个类就是抽象类抽象类abstract class是一种不能直接实例化的类它通常用作其他类的父类。抽象类允许你定义一些方法的共同行为而不需要在基类中实现这些方法的具体内容。具体的实现由子类提供。抽象类可以包含抽象方法和非抽象方法。1.抽象类的定义抽象类是通过abstract关键字声明的。一个类只有在包含抽象方法没有方法体的方法时才需要声明为抽象类。抽象类可以包含抽象方法没有方法体的方法必须在子类中实现。非抽象方法有方法体的方法可以被子类继承和使用也可以被子类覆盖重写。abstract class Animal { //有抽象方法类就要定义成抽象类 // 抽象方法没有方法体 abstract void sound(); // 非抽象方法有方法体 public void eat() { System.out.println(This animal is eating.); } } class Dog extends Animal { // 实现抽象方法 Override void sound() { System.out.println(Woof!); } } public class Test { public static void main(String[] args) { Animal myDog new Dog(); myDog.sound(); // 输出 Woof! myDog.eat(); // 输出 This animal is eating. } }Animal类是一个抽象类包含一个抽象方法sound()和一个非抽象方法eat()。Dog类继承自Animal并实现了抽象方法sound()。2.抽象类的使用场景共享代码的重用当多个类有相同的行为时可以将这些共同的行为放在抽象类中子类继承抽象类并实现特定的行为。约定子类实现行为通过抽象方法强制子类提供特定的实现。作为模板类抽象类的价值更多作用是在于设计是设计者设计好后让子类继承并实现抽象类。3.抽象类的细节1抽象类不能被实例化public class AbstractDetail01 { public static void main(String[] args){ new A();//抽象类不能被实例化这是会报错 abstract class A{ }2抽象类不一定要包含abstract方法。也就是说抽象类可以没有abstract方法但是有abstract方法一定要把类定义为抽象类。3abstract 只能修饰类和方法不能修饰属性和其它的4抽象类可以有任意成员【因为抽象类还是类】比如:非抽象方法、构造器、静态属性等等56如果一个类继承了抽象类则它必须实现抽象类的所有抽象方法除非它自己也声明为abstract类。从语法的层面来说。所谓实现方法就是有方法体方法体里面有什么内容不重要是空的都可以。7抽象方法不能使用 private不能被子类访问 、final 表示方法不能被重写不能在子类中修改和static表示方法是类的成员而不是实例的成员也就是说它不依赖于类的实例就可以调用 来修饰因为这些关键字都是和重写抽象方法的本意相违背的4.抽象类最佳应用场景-模板设计模式
RELATED

相关推荐

电脑文件散落各处总也找不到?用好Windows自带搜索的这3个技巧,快速揪出目标

电脑文件散落各处总也找不到?用好Windows自带搜索的这3个技巧,快速揪出目标

很多人都有过这样的经历:明明记得某个文件就存在电脑里,可真要用的时候,翻遍了各个盘的文件夹,就是找不着。尤其是在赶工的时间节点,满脑子都是“文件去哪儿了”的焦躁,而真正用来干活的时间反而被挤没了。…

📅 2026/10/7 4:39:04
39面向对象(高级)-设计模式

39面向对象(高级)-设计模式

1.什么是设计模式设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索2.单例设计模式所谓类的单例设计模式&#xf…

📅 2026/10/26 21:28:11
终极指南:如何免费发现689款macOS开源应用,告别付费软件困扰

终极指南:如何免费发现689款macOS开源应用,告别付费软件困扰

终极指南:如何免费发现689款macOS开源应用,告别付费软件困扰 还在为寻找macOS上的优质开源应用而烦恼吗?想摆脱昂贵的付费软件订阅却又找不到合适的替代品?open-source-mac-os-apps项目为你提供了完整的解决方案——这是一个精心…

📅 2026/9/14 14:14:31
MORE NEWS

更多资讯

📰

启动报Port 8088 was already in use?先查是谁占的

启动报Port 8088 was already in use?先查是谁占的 项目启动报 Port 8088 was already in use,意思很直白:这个端口已经有人占了。 先说原理:端口是"门牌号",一间房只住一个进程 端口就是一台机器上的门牌号…

📰

担心文档上云?本地运行的办公AI才敢放心用

单位上周开了个会,主题是"AI 提效",散会时领导补了一句:涉及客户资料的文档,不许往云端传。这话一出,会议室里本来跃跃欲试的同事全蔫了——大家平时用的那些在线 AI,文档一上传就不知道存哪儿去…

📰

先能用,再好用:从烂尾复盘到两周上线,全栈项目的‘原型—快速迭代‘方法论

先能用,再好用:从烂尾复盘到两周上线,全栈项目的“原型—快速迭代”方法论 全栈学习路径的文章已经很多了:怎么选技术栈、怎么搭环境、怎么记文档,几乎每个方向都有人写。但一个更扎心的问题很少有人正面讨论——为什…

📰

深度思考模式把 ARC-AGI-2 从 17.6% 拉到 45.1%:对照 Gemini 3 Pro 的三份能力评测,看‘会思考‘改写了哪些边界

深度思考模式把 ARC-AGI-2 从 17.6% 拉到 45.1%:对照 Gemini 3 Pro 的三份能力评测,看“会思考”改写了哪些边界 一、先说结论:变强的不是“知识”,而是“解法” 每次新模型发布,评测榜单都会涨几个点,大…

📰

1.c++入门篇

1.c中的关键字asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseenummutablestaticunionwchar_tcatchexplicitnamespacestatic_castunsigneddefaultcharexportnewstructusingfriendclassext…

📰

《江灯合声》:有可行的分框版,也仍可以选择连续鸣谢

武汉江岸区栎坡合唱团在免费节目册《江灯合声》中,以表格集中鸣谢资助者。各家共同要求改为独立小框,团里仍想保留表格。现有全名与支持事项清楚可见,双方此前未承诺具体排版。我支持保留表格。补充的试排材料让选择更具体:分框能…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬