当前位置: 首页 > news >正文

网站开发中用到的英文单词舅舅建筑网

网站开发中用到的英文单词,舅舅建筑网,seo搜索排名优化公司,做设计有必要买素材网站会员抽象类一.理解抽象类思维:假如我想定义一个Shape(图形类)类,我在这个类中写了一个draw()方法,但是这个方法是不能用来描述图形形状的(不能有方法体),因为我只要对他进行了准确描述&a…

抽象类

一.理解抽象类

  思维:假如我想定义一个Shape(图形类)类,我在这个类中写了一个draw()方法,但是这个方法是不能用来描述图形形状的(不能有方法体),因为我只要对他进行了准确描述,那他的形状就定死了。

  所以,如果我们想要定义一个形状如:三角形——》写一个三角形类,三角形也是图形的一种是吧,所以我们就可以继承Shape类,并一定要重写父类中的方法(如果你不重写的话不就相当与白继承了一个类吗?父类的方法中什么也没写呀),通过重写父类方法获得一个你心目中的“三角形”。这个Shape类就是抽象类,他的使用方法也是如此。

二.抽象类的语法

  在Java中,一个类如果被abstract修饰称为抽象类,抽象类中被abstract修饰的方法称为抽象方法,该方法不能有方法体,是必须要被子类重写的,否则会报错;

  注意:抽象类也是类,内部可以包含普通方法和属性,甚至构造方法

三.抽象类的特性

 1. 抽象类不能直接实例化对象

只可以像普通父类一样引用子类new的对象。

 2. 抽象方法不能是 private

就是说,abstract和private不能同时出现。

 3. 抽象方法不能被finalstatic修饰,因为抽象方法要被子类重写

 4. 抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修饰

   4.1如:
  4.2若Main类也使用abstract修饰,那么后面有类继承了Main类的话要么还是使用abstract修饰,要么就重写Abstract和Mian这两个类的抽象方法,依次类推...

5.

5.总结:抽象类的作用

抽象类本身不能被实例化, 要想使用, 只能创建该抽象类的子类. 然后让子类重写抽象类中的抽象方法.
有些人可能会说了, 普通的类也可以被继承呀, 普通的方法也可以被重写呀, 为啥非得用抽象类和抽象方法呢?
确实如此. 但是使用抽象类相当于多了一重编译器的校验.
使用抽象类的场景就如上面的代码, 实际工作不应该由父类完成, 而应由子类完成. 那么此时如果不小心误用成父类对象了, 使用普通类编译器是不会报错的. 但是父类是抽象类就会在实例化的时候提示错误, 让我们尽早发现问题.
很多语法存在的意义都是为了 "预防出错", 例如我们曾经用过的 final 也是类似. 创建的变量用户不去修改, 不就相当于常量嘛? 但是加上 final 能够在不小心误修改的时候, 让编译器及时提醒我们.
充分利用编译器的校验, 在实际开发中是非常有意义的.

 接口

接口可以理解为是比抽象类更抽象的东西。

一.接口的概念

接口的例子在生活中到处都是:如笔记本上的USB口,电源插座等。、

电脑的USB口上,可以插:U盘、鼠标、键盘...所有符合USB协议的设备
电源插座插孔上,可以插:电脑、电视机、电饭煲...所有符合规范的设备
通过上述例子可以看出:接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用
Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。

二.语法规则

接口的定义格式与定义类的格式基本相同,将class关键字换成 interface 关键字,就定义了一个接口。
  1.接口名称通常以大写字母  开头表示。
  2.接口的命名一般使用“形容词”词性的单词。

1.1接口特性

1.接口中定义的成员变量是默认被public static final 修饰的,所以我们为了保持整洁可以不写public static final。

2.接口中的方法被默认修饰为public abstract,因此可以省略不写。

3.如果接口中的方法被default修饰,那么可以有具体的代码实现。

4.如果接口中的方法被static修饰,那么它也可以有具体的实现。

3.接口中除被default和static修饰方法外都要被重写(除非子类被abstract修饰)否则就报错。

2.1.1继承接口

1.子类使用“implements”关键字继承接口。如:例一

2.我们知道子类只能继承一个父类,但是一个子类却可以继承多个接口。如:例一

3.接口和接口之间可以使用“extends”拓展。如:例二

例一:

例二:

三.实战接口

http://www.dtcms.com/a/486666.html

相关文章:

  • 怎么做交易网站seo整体优化
  • 基于卷积神经网络的苹果叶片病虫害识别系统,resnet50,vgg16,resnet34【pytorch框架,python代码】
  • 【计算机组成原理】第七章:输入/输出系统
  • 深入理解 Linux NUMA:拓扑、分配策略与调优实践
  • logstash常遇问题(logstash Address already in use 5044)
  • 断点调试介绍与使用案例
  • Kafka在美团数据平台的实践
  • 【完整源码+数据集+部署教程】Aura棕榈油果实分割系统: yolov8-seg-C2f-DCNV2-Dynamic
  • 蛋白表达标签:提升重组蛋白研究与生产的关键工具
  • 网站备案编号查询wordpress 集成paypal
  • 数学口算练习抖音快手微信小程序看广告流量主开源
  • 【开题答辩过程】以《泰山珍稀动植物信息管理平台的设计与实现》为例,不会开题答辩的可以进来看看
  • wordpress 淘宝客页面seo网络培训班
  • 哪些公司做网站wordpress单选框php
  • 什么是程序计数器?
  • GEO实战之GEO 在营销生态中的定位:社交媒体、PR、内容营销的整合策略
  • 10.13 Tabs选项卡布局
  • 深圳比较好网站制作公司有哪些设置wordpress网页私有
  • seo1视频发布会优化关键词的公司
  • Uniapp微信小程序开发:onPullDownRefresh
  • 如何优化CMS的缓存机制?
  • h5游戏免费下载:Emoji自定义表情编辑器
  • AbMole小课堂丨重组R-spondin-3(RSPO3)的作用机理及其在类器官和干细胞研究中的应用
  • springboot 实现websocket通信
  • 深度学习实战:python动物识别分类检测系统 计算机视觉 Django框架 CNN算法 深度学习 卷积神经网络 TensorFlow 毕业设计(建议收藏)✅
  • app使用什么做的网站wordpress自动保存编辑器图片
  • 静态网页发布到wordpress河南关键词优化搜索
  • 从递归到迭代吃透树的层次——力扣104.二叉树的最大深度
  • 基于无监督深度学习方法的非迭代式、不确定性感知的磁共振成像肝脏脂肪定量评估|文献速递-文献分享
  • 如何能把网站做的更大宿主选择 网站建设