JAVA进一步讨论对象及类.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA进一步讨论对象及类

5 进一步讨论对象和类;5.1 抽象数据类型;抽象数据类型(数据结构的概念) (ADT: Abstract Data Types);类就是一种抽象数据类型;封装的概念;最常见的封装;简单的封装例子: Students类 (P87页4.10题);5.2 对象的构造和初始化;5.2 对象的构造和初始化;5.2 对象的构造和初始化;构造方法的特点;Java中可以不定义构造方法;构造方法可以有多个;构造方法示例;5.3 this引用;5.3 this引用;例: 构造方法调用另一构造方法;5.4 子类(和继承); 继承性是软件复用的一种形式。新类由已存在的类生成,通过保留它们的属性和行为,并且根据新类的要求对性能加以修改,添加新的属性和行为。 从现有类出发定义一个新类,称为新类继承了现有的类,其中被继承的现有类叫做超类(superclass)或父类,由继承而得到的类称为子类(subclass)。; 如果子类只从一个父类继承,则称为单继承;如果子类从一个以上父类继承,则称为多继承。注意 Java不支持多重继承,但它支持“接口”概念(间接实现多重继承)。;一、父类和子类—继承和继承的实现;二、成员变量的继承 ;三、成员方法的继承 ;super和this关键字:指代本对象和父对象;student的子类:postgraduate;5.5方法的重写 (多态、重写和重载);重写(又称覆盖);重写后,父类的对应方法依然可访问;由重写引出“多态”;Java中多态机制有两种;多态之重载;多态之重载;重载的正式定义;构造方法的重载;重载示例;总结:重写和重载;5.6 java包;包是一组类的集合 一个包可以包含若干个类文件,还可包含若干个包 包的作用 将相关的源代码文件组织在一起 类名的空间管理,利用包来划分名字空间,便可以避免类名冲突 提供包一级的封装及存取权限;包的命名 每个包的名称必须是“独一无二”的 Java中包名使用小写字母表示 命名方式建议 若包名中有任何不可用于标识符的字符,用下划线替代 若包名中的任何部分与关键字冲突,后缀下划线 若包名中的任何部分以数字或其他不能用作标识符起始的字符开头,前缀下划线;一个Java源代码文件称为一个编译单元,由三部分组成 所属包的声明(省略,则属于默认包) Import (引入)包的声明,用于导入外部的类 类和接口的声明(主体部分) 一个编译单元中只能有一个public类,该类名与文件名相同,编译单元中的其他类往往是public类的辅助类,经过编译,每个类都会产一个class文件 利用包来划分名字空间,便可以避免类名冲突;包的声明 命名包(Named Packages) 例如: package Mypackage; 当一个类的第一句是这一句时,该类必须位于名称为“Mypackage”的文件夹中,否则出错; 默认包(未命名的包) 不含有包声明的编译单元是默认包(当前文件夹)的一部分 ;包与目录 Java使用文件系统来存储包和类 包名就是文件夹名,即目录名 用javac编译源程序时,如遇到当前目录(包)中没有声明的类,就会以环境变量classpath为相对查找路径,按照包名的结构来查找。因此,要指定搜寻包的路径,需设置环境变量classpath;引入包 为了使用其它包中所提供的类,需要使用import语句引入所需要的类 Java编译器为所有程序自动引入包java.lang import语句的格式 import package1[.package2…]. (classname |*); 其中package1[.package2…]表明包的层次,它对应于文件目录 classname则指明所要引入的类名 如果要引入一个包中的所有类,则可以使用星号(*)来代替类名;类型;Eclipse:自动管理包;5.7 类成员;类的静态成员;5.8 关键字 final;final;5.9 抽象类;抽象类;抽象类的例子;抽象类;5.10 接口;接口;接口的定义;接口的实现;程序5-12;程序5-12;进阶练习:P87 题4.11;进阶练习:P87 题4.11;import java.util.Arrays; public class Student implements Comparable { private String name;// 姓名 private int id;// 学号 private String sex;// 性别 private double creditSum;// 学分积 private Course courses[] = new Course[3];// 三门课 // public Student() // { // // } public Stude

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档