- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]JAVA学习笔记之父类与子类
this的用法 构造器和方法使用关键字this有很大的区别。方法引用this指向正在执行方法的类的实例。静态方法不能使用this关键字,因为静态方法不属于类的实例,所以this也就没有什么东西去指向。构造器的this指向同一个类中,不同参数列表的另外一个构造器,我们看看下面的代码: public class Platypus { String name; Platypus(String input) { name = input; } Platypus() { this(John/Mary Doe); } public static void main(String args[]) { Platypus p1 = new Platypus(digger); Platypus p2 = new Platypus(); } } 在上面的代码中,有2个不同参数列表的构造器。第一个构造器,给类的成员name赋值,第二个构造器,调用第一个构造器,给成员变量name一个初始值 John/Mary Doe. 在构造器中,如果要使用关键字this,那么,必须放在第一行,如果不这样,将导致一个编译错误。 super的用法 构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。看下面的例子: class Mammal { void getBirthInfo() { System.out.println(born alive.); } } class Platypus extends Mammal { void getBirthInfo() { System.out.println(hatch from eggs); System.out.print(a mammal normally is ); super.getBirthInfo(); } } 在上面的例子中,使用super.getBirthInfo()去调用超类Mammal中被重载的方法。 构造器使用super去调用超类中的构造器。而且这行代码必须放在第一行,否则编译将出错。看下面的例子: public class SuperClassDemo { SuperClassDemo() {} } class Child extends SuperClassDemo { Child() { super(); } } 在上面这个没有什么实际意义的例子中,构造器 Child()包含了 super,它的作用就是将超类中的构造器SuperClassDemo实例化,并加到 Child类中。 编译器自动加入代码 编译器自动加入代码到构造器,对于这个,java程序员新手可能比较混淆。当我们写一个没有构造器的类,编译的时候,编译器会自动加上一个不带参数的构造器,例如:public class Example {} 编译后将如下代码: public class Example { Example() {} } 在构造器的第一行,没有使用super,那么编译器也会自动加上,例如: public class TestConstructors { TestConstructors() {} } 编译器会加上代码,如下: public class TestConstructors { TestConstructors() { super; } } 仔细想一下,就知道下面的代码 public class Example {} 经过会被编译器加代码形如: public class Example { Example() { super; } } 继承 构造器是不能被继承的。子类可以继承超类的任何方法。看看下面的代码: public class Example { public void sayHi { system.out.println(Hi); } Example() {} } public class SubClass extends Example { } this 指向同一个类中另外一个构造器,在第一行 指向当前类的一个实例,不能用于静态方法 super 调用父类的构造器,在第一行 调用父类中一个重载的方法 继承 构造器不能被继承 方法可以被继承 编译器自动加入一个缺省的构造器 自动加入(如果没有) 不支持
您可能关注的文档
- [工学]201111萃取第三节.ppt
- [工学]2012-6第六章 输入输出与中断.ppt
- [工学]2014必威体育精装版高考总复习资料金榜学案化学第七章 第二节.ppt
- [工学]2014一轮复习指导:第6章 第3讲 电容器与电容、带电粒子在电场中的运动.ppt
- [工学]2013第一次课建筑识图与构造-4.ppt
- [工学]2信息表示11级.ppt
- [工学]22 3相桥式24d.ppt
- [工学]2土的物理性质及分类.ppt
- [工学]2章-知识表达-人工智能研究生教学-09.ppt
- [工学]3 零件分类成组方法-1-2.ppt
- 四川省绵阳市第一中学2024-2025学年高三下学期物理模拟考试(一).docx
- 四川省绵阳市涪城区2024-2025学年八年级上学期期末物理试卷(B卷).docx
- Fastly:Fastly边缘存储服务解析.docx
- 安徽省淮北市龙兴中学2024-2025学年七年级上学期期末道德与法治试卷.docx
- DigitalOcean:云服务器Droplets的创建与管理.docx
- Azure Blob Storage:实现Blob存储的数据备份与恢复.docx
- 四川省巴中市南江县实验中学2024-2025学年高二下学期3月月考地理试题.docx
- 四川省巴中市南江县实验中学2024-2025学年高一下期3月月考物理试题.docx
- 四川省巴中市南江县实验中学2024-2025学年高一下学期3月月考 化学试题.docx
- Google Workspace (G Suite):GoogleWorkspace教育版在教学中的应用.docx
最近下载
- 口腔门诊医院感染管理标准(2024年版)课件.pptx VIP
- 2025至2030年中国医药销售外包(CSO) 行业市场发展规模及未来趋势研判报告.docx
- 2025年新人教版数学一年级上册全册教案.docx
- 非道路移动机械申报登记表完整.pdf VIP
- 中医师承中医基础理论测试卷及答案.doc
- 人音版音乐八年级上册-《在灿烂阳光下》教案教学设计.pdf
- 移动护理pda的临床使用PPT.pptx
- 2025年迈向零排放货运:新能源重卡应用初探-行业调研分析与建议报告.pdf VIP
- 【铸牢中华民族共同体意识】铸牢中华民族共同体意识PPT .pdf VIP
- 2017-2018小学秋学期总务处工作计划.doc VIP
文档评论(0)