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

第六章java程序设计语言.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 面向对象(下) 主要内容 6.1 this与super 6.1.2 super class Person{ int age; int height; void eat(){} void sleep(){} Person(){} } class Student extends Person{ int score; Student(){} void study(){} } 6.2 构造函数的多态和继承 一个类可以定义多个构造函数,构造函数之间用this()相互调用 构造函数不能被继承,可以在子类构造函数中用super()调用父类构造函数 6.3.2 抽象类的产生过程 6.3.3 抽象类在继承方面的应用 简化子类定义 明晰类的层次关系 6.3.4 引用具体子类对象 6.3.5 抽象类设计注意事项 抽取同类对象的共同行为 包含对象的本质 尽可能简单 接口的两种含义: 可以被引用调用的方法(public方法或同包中的protected方法或默认方法); 另一种是同“类”概念地位相当的专有概念interface, interface是方法说明的集合。 interface声明格式 [public] interface 接口名[extends 父接口名列表] { //静态常量数据成员声明 [public][static][final] 域类型 域名 = 常量值   //抽象方法声明 [public][abstract]返回值 方法名(参数列表)[throw 异常列表] } 定义接口要注意几点 接口定义用关键字interface,而不是用class,interface前的修饰符要么为public,要么为缺省。 接口具有继承性,可通过extends关键字声明接口的父接口。 6.4.2 接口的角色 接口扮演将实现者和使用者有机联系到一起的角色。 6.4.3 接口实现与使用 给接口中的方法定义具体的操作就是接口的实现 在类的声明中用implements子句来表示一个类实现了某个接口。 接口实现要注意几点 一个类可以实现多个接口,在implements后用逗号隔开多个接口的名字。一个接口也可被多个类来实现。 接口的实现者可以继承接口中定义的常量,其效果等效于在这个实现类当中定义了一个静态常量。 6.5 抽象类与接口 引用可以替换吗? 替换是有原则的:父类引用可以指向子类对象,子类声明不能引用平行级别的其它类的对象,也不能引用父类对象。 父类声明和子类声明引用同一个子类对象有什么区别? 父类声明是从父类的角度去引用对象,子类声明是从子类角度引用对象。父类引用子类对象时,可以经过显式的转化赋给子类的声明,但子类的引用赋值给父类的声明则不需要。 6.7 类的其它相关内容 6.7.1 类的初始化 构造方法 声明时初始化 静态块 实例块 静态块 class A{ static{….}//静态块 } 静态块在类被加载到内存时被执行 非静态成员变量不能在静态块中使用 静态块主要用来初始化静态变量及静态方法 实例块 class A{ {….}//实例块 } 实例块在创建类的实例对象时被执行 实例块先于构造函数执行 定义 内部类与普通类定义基本相同 内部类如果定义在外部类成员的位置,可看作外部类的成员,能被protected或private修饰 内部类定义在方法内,则不能被任何修饰符修饰 成员类(member class) 成员类形式如下: class Outer{ class Inner{ } } Inner类可以引用Outer类的所有成员,包括被private修饰的 class Outer{ private int a=10; void f(){…} class Inner{ int d=a; f(); } } Outer类与Inner类成员重名时,利用关键字this引用成员 成员类的成员不能为static成员,但允许静态常量存在 class Outer{ class Inner{ int a; //可以 void f(){…}

文档评论(0)

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

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

1亿VIP精品文档

相关文档