- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 接口、内部类和Java API基础 4.1 接口 4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库 4.1 接口 4.1.1 接口与实现接口的类 4.1.2 用接口实现多重继承 4.1.1 接口与实现接口的类 声明接口 [public] interface 接口 [extends 父接口列表 ] { [public] [static] [final] 数据类型 成员变量=常量值; [public] [abstract] 返回值类型 成员方法[(参数列表)]; } 说明: 1.接口中的成员变量都是常量,声明时必须赋值,并且默认为public static final; 2.接口中的成员方法默认public abstract,即都是抽象方法; 3.接口中不能包含构造方法。 public interface Area //可计算面积接口 { public abstract double area(); //计算面积 } 接口不能被实例化 2. 声明实现接口的类 [修饰符] class 类泛型 [extends 父类] [implements 接口列表] 例如, public class Rectangle implements Area public class Ellipse implements Area 实现接口的非抽象类必须实现所有接口中的所有抽象方法,否则声明为抽象类 【例4.1】可计算面积接口与实现该接口的矩形类。 3. 接口是引用数据类型 Area g = new Rectangle(10,20); //接口变量g引用实现接口的类的对象 g.toString() //执行Rectangle的方法 g = new Ellipse(10,20); //g引用椭圆对象 g.toString() //执行Ellipse的方法 【例4.2】可计算面积接口与实现该接口的矩形类。 【例4.3】 球类实现多个接口。 4.1.2 Java用接口实现多重继承 接口的多继承 接口与抽象类的区别 接口与抽象类的区别 1.抽象类为子类约定方法的声明,并给出部分实现,包括构造方法等;抽象方法在多个子类中表现出多态性。一个类只能继承一个类的约定与实现; 2.接口为多个互不相关的类约定某一特性的方法声明,在类型层次中表达对象拥有的属性。接口是多继承的,一个类实现多个接口,就具有多种特性。 注意:一个类如果无法实现指定接口中的所有抽象方法,则它必须声明为抽象类。 3. 单继承和多继承 图4.6 多继承的“钻石继承”类型会导致二义性 4.2 内部类和内部接口 public class Line //直线类,外层类型 { class Point //点类,内嵌类型 } 作为类型的特性 内嵌类型不能与外层类型同名。 内部类中可以声明成员变量和成员方法。内部类成员可以与外部类成员同名; 内部类可以继承父类或实现接口。 内部类可以声明为抽象类或内部接口。但该抽象类必须被其他内部类继承;内部接口必须被其它内部类实现; 2. 作为成员的特性 使用点运算符“.”引用内嵌类型: 外层类型.内嵌类型 Line.Point 彼此信任,能访问对方的所有成员。 具有类中成员的4种访问控制权限。 内部接口总是静态的。可声明内部类是静态的,静态内部类能够声明静态成员,但不能引用外部类的实例成员。非静态内部类不能声明静态成员。 【例4.4】 直线类声明内嵌的点类和方向接口。 内部类分类 4.3 java.lang包中的基础类库 4.3.1 Object类 4.3.2 Math数学类 4.3.3 Comparable可比较接口 4.3.4 基本数据类型的包装类 4.3.5 String字符串类 4.3.6 Class类操作类 4.3.7 System系统类和Runtime运行时类 4.3.1 Object类 package java.lang; public class Object { public Object() //构造方法 public final native Class? extends Object getClass(); //返回当前对象所在的类 public boolean equals(Object obj) //
文档评论(0)