Java 03 类和对象 下.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 03 类和对象 下

类和对象 下 金杰 本章目标 方法重载 重载构造方法 对象在内存中的存放形式 this关键字 静态成员,static关键字 打包,package关键字 导入包,import关键字 方法重载 用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,但是却使用不同的参数列表; 编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法,如: 方法重载的三大原则 方法名相同 参数不同(可以有三方面的不同) 数量不同 类型不同 顺序不同 同一作用域 温馨提示:方法重载跟方法的返回值类型没有任何关系。也就是说,只有返回值不同的方法不能构成重载。 方法重载的两种方式之一 利用不同数据类型的参数重载; 对于带有相同数量参数但参数类型不同的重载方法,编译器可以区分它们,如: 只要所有参数式样都是唯一的,就可以使用多个重载; 很多编程语言已经重载了输出方法,以便您可以用相同的函数名称输出任何类型的数据。 方法重载的两种方式之二 利用不同数量的参数重载,如: 将调用与参数最匹配的方法,如果没有方法得出最佳匹配,那么编译器将报错; 编译器解决重载的方式与方法定义的顺序无关; 重载不考虑方法的返回值类型。 方法重载的作用域规则 只有属于同一作用域范围内的方法才能构成重载。 关于方法重载的重要提示 禁止对功能完全不同的方法进行重载 重载构造方法 方法重载的一个重要应用就是重载构造方法; 可以定义一组构造方法,使其构成重载关系,从而方便使用者能够灵活机动地以各种不同的方式来实例化对象。 对象在内存中的存放形式 this关键字 既然所有的对象都共用相同的成员方法,那么在不同的对象都调用同一方法时,它是怎么确定要使用哪个对象的数据成员呢? 每个成员方法都有一个隐含的this引用,它总是指向调用它的对象; 关键字this给出用于调用成员方法的对象的地址; 每当调用成员方法时,编译器会向this分配调用该方法的对象的地址; 可以像使用任何引用那样使用this。 静态成员变量 声明静态变量使用关键字static 在成员变量前加static关键字,可以将其声明为静态成员变量; 如果类中成员变量被定义为静态,那么不论有多少个对象,静态成员变量只有一份内存拷贝,即所有对象共享该成员变量; 静态成员变量的作用域只在类内部,但其生命周期却贯穿整个程序。 静态成员变量的注意事项 和程序同生命周期; 在没有实例化对象时,可以通过类名访问静态成员变量; 也可以通过对象访问静态成员变量,但不论使用的是哪个对象,访问到的都是同一个变量; 静态成员变量在声明时最好初始化,如果不进行初始化,系统会默认初始化为0。 静态成员方法 在成员方法前加static关键字,可以将其声明为静态成员方法; 静态成员方法只能对类的静态成员变量进行操作; 静态成员方法没有this引用; 在没有实例化对象时,可以通过类名访问静态成员方法。 静态成员小结 静态成员包括静态数据成员和静态成员方法; 静态成员属于整个类而不是属于某个对象,它被该类的所有对象共享; 访问静态成员时一般通过类名访问,也可以通过对象访问; 静态成员也受访问权限的约束; 静态数据成员在使用之前应尽量初始化; 静态成员方法不能操作非静态成员; 静态成员方法没有this引用。 包 有时候,类和类的名称可能发生冲突; Java提供了把类名空间划分为更容易管理的块的机制,这就是包; 包允许将类组合成较小的单元,类似于文件夹; 有助于避免命名冲突,分属不同包的类即便名称相同也不会引起误会; 能在包与包之间对于类的访问权限提供更有力的约束。 使用package关键字打包 可以使用package关键字将源文件中的类打入某个包中,语法是: package 包名; 该语句必须是整个源文件的第一条语句; 包中还可以包含下一级子包,这与文件目录体系非常相似。 缺省包 如果省略了package语句,类将保存在一个缺省的没有名称的包中; 尽管缺省包很方便,但对于大型的程序,它是不恰当的; 请尽量为自己编写的类定义具体的包。 使用import关键字导入包 如要使用到某个包中的类,就需要使用import关键字将包或类显式地包括到程序中,有如下两种情况: 一个程序中允许有多条import语句,导入多个包或多个类。 总结 方法重载可以方便方法的调用者,但方法重载应遵循三大原则: 方法名相同 参数列表不同 属于同一作用域 可以适当地重载构造方法,使初始化对象的方式更加灵活; this引用总是指向调用方法的对象本身; 静态成员属于类而不是属于某个对象; 总是将自己定义的类打入到具体的包中是良好的编程习惯; 可以使用import语句导入需要的包或类。 /*abs方法的重载*/ int abs(int x) {……} float

文档评论(0)

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

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

1亿VIP精品文档

相关文档