第5讲继承与多态.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲继承与多态资料

Dog myDog = new Dog(); 且慢!这不就是在调用Dog()这个方法吗? 不是 这是在调用Dog的构造函数 构造函数带有在初始化对象时会执行的程序代码,即新建一个对象时就会被执行 可是我并没有写什么构造函数呀? 就算你没有写构造函数,编译器也会帮你写一个没有参数的 编译器帮你写的是— public Dog() { //默认的构造函数是没有参数的 } 构造函数名一定要与类的名称相同 构造函数没有返回类型,而方法有返回类型 5+.6 构造Dog 构造函数能够在对象被赋值给引用之前就执行,你有机会在对象被使用前介入 class Dog { public Dog() { System.out.println(“Wuff!Wuff!”); } public class UseADog { public static void main (String[] args) { Dog myDog = new Dog(); //启动Dog的构造函数 5+.7 新建Dog状态的初始化 使用构造函数初始化对象的状态(设置和给对象的实例变量赋值) public Dog() { size = 34; } 如果想要由使用Dog的人来决定size的值,怎么办? 使用该类的setSize()来设定大小 } //构造函数介入new的过程,初始化时输出Wuff!Wuff! } } class Dog { int size; //实例变量 public Dog() { //构造函数 System.out.println(“Wuff!Wuff!”); } public void setSize(int dogSize) { //setter方法 size = dogSize; } } public class UseADog { public static void main (String[] args) { Dog myDog = new Dog(); myDog.setSize(34); } } // 新建Dog后却没有size值,你必须自行设定size大小 5+.8 使用构造函数来初始化Dog的状态 class Dog { int size; public Dog(int dogSize) { //给构造函数加上参数 System.out.println(“Wuff!Wuff!”); size = dogSize; //使用参数值设定实例变量size System.out.println(“size is ” + size); } } public class UseADog { public static void main (String[] args) { Dog myDog = new Dog(34); //传值给构造函数 } //只需上面一行就可以创建新的Dog对象并设定好size } 如果对象不应在状态被初始化之前就开始使用,我们可以将初始化的程序代码放在构造函数中,然后将构造函数设定成需要参数的 5+.9 Dog的简易饲养方法—有参数却允许不输入的构造函数 刚才Dog的构造函数需要一个dogSize参数,但如果不知道Dog的大小,难道就无法创建Dog对象吗? 创建Dog对象时提供2个选项:一个可以指定dogSize(通过构造函数的参数),另外一个使用默认值而无需指定大小 一种并不理想的方法是: class Dog { int size; public Dog(int dogSize) { //给构造函数加上参数 if (dogSize == 0) { //传入0意味着使用默认大小 size = 27; } else { size = dogSize; } } } 第5讲 继承与多态 【入门引例】从格言与俗语所想到的 人终有一死 我们都是人 因此我们也不免一死 —经典逻辑三段论 儿子像娘,金子打墙 —绍兴俗语

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档