Java的abstract
正在为您搜索:java、abstract
在Java中,抽象(abstract)是一种关键字,用于定义抽象类和抽象方法。
抽象类是一种不能被实例化的类,它包含了一些未完整实现的抽象方法,这些抽象方法必须被子类实现。抽象类的使用场景是:当一个类具有某些通用特性,但是某些特定实现无法确定时,可以使用抽象类来定义该类,并将特定的实现留给子类来完成。
下面是一个抽象类和抽象方法的示例代码:
public abstract class Shape {public abstract double getArea();
}public class Rectangle extends Shape {private final double width;private final double height;public Rectangle(double width, double height) {this.width = width;this.height = height;}@Overridepublic double getArea() {return width * height;}
}public class Circle extends Shape {private final double radius;public Circle(double radius) {this.radius = radius;}@Overridepublic double getArea() {return Math.PI * Math.pow(radius, 2);}
}
在上面的示例代码中,我们定义了一个抽象类Shape
,其中包含了一个抽象方法getArea()
。由于抽象方法没有实现代码,因此该类无法被实例化。我们还通过继承Shape
类来实现了两个具体的子类Rectangle
和Circle
,并分别实现了getArea()
方法。
抽象方法是一种没有具体实现的方法,只有声明和方法签名,没有执行语句。当一个类包含了一个或多个抽象方法时,该类必须被声明为抽象类。任何一个非抽象子类都必须实现所有继承的抽象方法才能被实例化。抽象方法的使用场景是:当一个类需要提供某些方法的接口,但是这些方法的具体实现无法确定时,可以将这些方法定义为抽象方法。
下面是一个抽象方法的示例代码:
public abstract class Animal {public abstract void eat();
}public class Dog extends Animal {@Overridepublic void eat() {System.out.println("Dog eating bone");}
}public class Cat extends Animal {@Overridepublic void eat() {System.out.println("Cat eating fish");}
}
在上面的示例代码中,我们定义了一个抽象类Animal
,其中包含了一个抽象方法eat()
。由于eat()
方法没有实现代码,因此该类无法被实例化。我们还通过继承Animal
类来实现了两个具体的子类Dog
和Cat
,并分别实现了eat()
方法。
总之,在Java中,抽象类和抽象方法是一种重要的编程工具,可用于描述具有通用特性的类,以及定义方法的接口而不涉及其具体实现。
Java的abstract相关推荐
- java 抽象接口类,Java接口(interface)和Java抽象类(abstract class)的区别(详诉版)
1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架, 当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...
- Java抽象类(Abstract Class)与接口(Interface)区别
抽象类与接口比较 抽象类跟接口类似,都不能实例化,可能包含不需实现方法或已实现的方法. 抽象类可以定义一些不是静态或常量的字段,定义 public, protected, private访问级别的具体 ...
- JAVA的abstract修饰符 接口interface用法 抽象类和interface的差别
转自:http://blog.csdn.net/zhandoushi1982/article/details/8458081 abstract修饰符可以修饰类和方法. (1)abstract修饰类,会 ...
- java中abstract,interface,final,static的区别
2019独角兽企业重金招聘Python工程师标准>>> 关键字: abstract, interface, final, static 一,抽象类:abstract 1,只要有一个或 ...
- Java中abstract类和abstract方法的相关问题
当知道一个类的子类将不同的实现某个方法时,把该类声明为抽象类很有用,可以共用相同的父类方法,不必再定义. 抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法. 抽象类存在 ...
- Java中abstract和interface的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...
- java interface abstract
对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...
- java的abstract的意思_英语abstract单词是什么意思
abstract是什么意思 abstract在论文设计里是什么意思Abstract的汉语意识也是摘要, 在论文撰写中Abstract中的内容相当于将你中文摘要的内容翻译成英文,写在Absract下面就 ...
- 晋南讲堂之Java抽象类(abstract)与接口(interface)区分
抽象类(abstract)和接口(interface)的对比 1. 抽象类(abstract) 我们一般声明一个抽象类按照如下形式: abstract class ClassName{//成员变量 ...
最新文章
- 自动化测试框架设计模式
- proe输入数字时成双出现_罗斯蒙特温度变送器3144P单只和双只输入输出的的含义...
- I Hate It (HDU 1754)
- Java @override报错的解决方法 .
- MySql5.7.12设置log-bin
- pycharm 如何自动添加头注释,比如时间,作者信息等
- Python项目实践:自动轨迹绘制(根据脚本绘制图形)
- 假如我来发明编程语言
- Redis持久化-RDB
- Python---装饰器
- java语言飞机大战代码_飞机大战JAVA代码
- AForge处理视频和拍照(暂时没有音频)
- erp管理软件是什么
- 在Ubuntu18上使用fusedav挂载城通网盘webdav
- VAST2.0视频广告投放解决方案改变视频网站未来技术格局
- blockquote
- Java计算文件MD5值
- LensFlare Studio for Mac(镜头光晕特效工具)
- 再见postman,被这个一站式接口管理工具折服了
- Java系统插件开发原理与实例
热门文章
- 计算机二级交付遇到问题怎么解决,交期延误问题的解决办法 !
- 360浏览器兼容模式下js失效的问题
- 江苏省计算机一级主要考什么,江苏省计算机一级考试复习资料 很全面的
- 说一说你的职业规划是怎样的呢?说说未来一年、三年、五年的职业规划
- html5字体动画效果,7款超华丽的HTML5 Canvas文字动画特效
- 网络基础之虚拟路由器冗余协议(VRRP)理论基础及华为ENSP基础配置
- [数据分析笔记] 网易云歌单分析系列03—pyecharts折线图
- TypeScript基础+进阶
- 倾情分享:Android 开发者们不要错过的网站宝藏~
- Linux删除文件之后磁盘空间没有被释放