网站大量收购独家精品文档,联系QQ:2885784924

抽象类与接口案例.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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中一个类获取某一接口定义的功能,并不是通过直接继承这个接口中的属性和方法来实现的。

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档