- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目1.什么是抽象类
某些类在现实世界中是不能直接找到其对应的实例的,如车这个类,不可能为它找到一个对应的事物,因为现实世界中只有汽车、自行车、火车等事物,而它们都是车的子类,不能说是车这个类的实例,这样的类称为抽象(abstract)类。
抽象类的定义:
public abstract class 类名
{
}
抽象方法的定义:
public abstract 返回类型 方法名 (参数列表);
例如:
abstract class basic
{
abstract void sleep();
public static void main(String[] args)
{
System.out.println(Hello World!);
}
}
明确:
Java允许在类中只声明方法而不提供方法的实现。这种只有声明而没有方法体的方法称为抽象方法,而包含一个或多个抽象方法的类称为抽象类。 抽象类在使用上有特殊的限制,即不能创建抽象类的实例。
含有抽象方法的类,即为抽象类。
如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。
构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。
项目2:抽象类创建实例
public abstract class Shape {//形状类
protected double length;//长
protected double width;//宽
public Shape(double length,double width){
this.length=length;
this.width=width;
}
public abstract double area();//计算面积
}???
?这是一个抽象类shape,它提供了所有子类需要的属性和方法,其中的抽象方法area()是求面积(体积)的意思,它只是提供了这个类的对外接口的模式,至于它的子类怎么计算,与它无关。而shape的非抽象子类,如和Rectangle等都必须实现area()这个方法,但实现的方法体不一样。
Triangle(double num,double num1){
super(num,num1);
}
public double area(){//三角形面积
return length*width/2;
}
}
public class Rectangle extends Shape {//矩形
Rectangle(double num,double num1){
super(num,num1);
}
public double area(){//矩形面积
return length*width;
}
}
public class TestArea {
public static void main(String[] args) {
Triangle tr=new Triangle(3,5);
Rectangle re=new Rectangle(4,6);
System.out.println(三角形的面积+tr.area());
System.out.println(矩形的面积+re.area());
}
}
接口
(interface)在有些资料上称为界面。Java的接口与包相似,也是用来组织应用中的各类并调节它们的相互关系的一种结构。更准确地说,接口是用来实现类间多重继承功能的结构。
所谓多重继承,是指一个子类可以有一个以上的直接父类,该子类可以继承它所有直接父类的成员。某些面向对象的语言,在Java中,出于简化程序结构的考虑,不再支持类间的多重继承而只支持单重继承,即一个类至多只能有一个直接父类。然而在解决实际问题的过程中,仅仅依靠单重继承在很多情况下都不能将问题的复杂性表述完整,需要其他的机制作为辅助。
由于Java只支持单重继承,所以Java程序中的类层次结构是树状结构,这种树状结构在处理某些复杂问题时会显得力不从心。同时随着类结构树的生长,越是处在下层的子类,它的间接父类(间接父类是直接父类的父类,即祖先)越多,所继承的方法也会越来越多,造成子类成员的膨胀、庞杂,难以管理和掌握。
为了使Java程序的类层次结构更加合理,更符合实际问题的本质,编程者可以把用于完成特定功能的若干属性组织成相对独立的属性集合;凡是需要实现这种特定功能的类,都可以继承这个属性集合并在类内使用它,这种属性集合就是接口。
需要特别说明的是,Java中一个类获取某一接口定义的功能,并不是通过直接继承这个接口中的属性和方法来实现的。
您可能关注的文档
- 安装教程-EndNote X7 [自动保存].pptx
- 安装与管理IIS个人WEB服务器.ppt
- 0阻抗匹配及阻抗变换.ppt
- 安装与配置DHCP服务器.ppt
- 01-02_Java程序组成.pdf
- 安装运行PROE 出错误解决方法集合.docx
- 01-第1篇 IP地址配置.pdf
- 奥迪原装附件及原装备件-新产品.pdf
- 01图论及网络基本知识.ppt
- 01文件与记录控制程序.doc
- 土壤修复行业概述.docx
- 2025年零基础备战司法考试的完美解析 .pdf
- 土壤修复行业投资分析.docx
- 考点分类练1 细节理解题(1)阅读理解2025年高考总复习优化设计二轮专题英语X课后习题专项能力提升练含答案.docx
- 2025年雨金中学第一次月考政治试题及参考答案_图文 .pdf
- 推动职业教育教学改革的战略目标.docx
- 2025年重庆电讯职业学院单招职业倾向性测试题库及完整答案一套.docx
- 考点分类练7 词句猜测题(1)阅读理解2025年高考总复习优化设计二轮专题英语X课后习题专项能力提升练含答案.docx
- 2025年重庆电讯职业学院单招职业适应性测试题库及答案一套.docx
- 2025年重庆电讯职业学院单招职业适应性测试题库及参考答案1套.docx
最近下载
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案).pdf VIP
- 2024届福建省莆田市高三第二次教学质量检测二模生物试卷.doc VIP
- 电梯维修及维护人员的安全知识与技能培训课件.pptx VIP
- 小学新教育实验实施方案(详细).docx
- 23中英文双语单片机车辆防碰撞外文文献翻译:基于超声波与单片机嵌入式系统开发集成应用的汽车防撞系统设计.doc VIP
- 八年级数学上册《分式》教案教材分析.pdf VIP
- 大华DSS5000系列-客户端操作手册-.docx
- 2013款上汽通用别克君越_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 人教版数学二年级下册全册教学课件(2023年新教材).pptx
- 越人歌-钢琴伴奏谱.pdf
文档评论(0)