子类父类构造函数的关系以及java的单继承.docx_第1页
子类父类构造函数的关系以及java的单继承.docx_第2页
子类父类构造函数的关系以及java的单继承.docx_第3页
子类父类构造函数的关系以及java的单继承.docx_第4页
子类父类构造函数的关系以及java的单继承.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

p97-1031.在子类构造函数中显式的调用父类构造函数package 子类与父类构造函数之间的关系;public class Student String name;int No;Student(String aName,int aNo)name=aName;No=aNo;System.out.println(一个学生产生, 姓名:++t学号:+this.No);package 子类与父类构造函数之间的关系;public class OnJobStudent extends Student String title;String company;OnJobStudent(String aName,int aNo,String aTitle,String aCompany)super(aName,aNo); /显式调用父类构造函数this.title=aTitle;pany=aCompany;System.out.println(一个在职学产生,职称:+this.title+单位:+pany);package 子类与父类构造函数之间的关系;public class TestStudemt public static void main(String args) OnJobStudent a=new OnJobStudent(祁欣,17,学生,广州宝洁公司);/ TODO 自动生成的方法存根使用this关键字有效的避免了在方法中调用该类方法中的对象所发生的冲突(如Student类中的输出语句,若是没有this关键字,形参若名为name,则是对形式参数name的操作)。在该情境中,父类和子类都有构造函数,子类也显式的调用了父类的构造函数。所以在产生子类对象a时,首先执行super(aName,aNo);语句(父类构造函数),然后执行子类构造函数后续语句 所以输出为:2.子类隐含的调用父类不带参数的构造函数package 子类与父类构造函数之间的关系;public class Student String name;int No;Student()System.out.println(一个学生产生);package 子类与父类构造函数之间的关系;public class OnJobStudent extends Student String title;String company;OnJobStudent()System.out.println(一个在职学产生); 子类隐含的调用父类不带参数的构造函数package 子类与父类构造函数之间的关系;public class TestStudemt public static void main(String args) OnJobStudent a=new OnJobStudent();/ TODO 自动生成的方法存根该情境中,子类父类均有构造函数且构造函数无参数。子类构造函数中并没有显式的调用父类的构造函数。所以在产生子类对象时,将在子类构造函数之中首先自动调用父类不带参数的构造函数,然后在执行子类构造函数的语句。所以输出为:3.父类只有带参数的构造函数,在子类的构造函数中必须显式调用package 子类与父类构造函数之间的关系;public class Student String name;int No;Student(String aName,int aNo)=aName;this.No=aNo;System.out.println(一个学生产生,姓名:++t学号:+this.No);package 子类与父类构造函数之间的关系;public class OnJobStudent extends Student String title;String company;package 子类与父类构造函数之间的关系;public class TestStudemt public static void main(String args) OnJobStudent a=new OnJobStudent();/ TODO 自动生成的方法存根上述代码语法错误因为父类只有带参数的构造函数,子类应该在自身的构造函数中显式的调用父类带参数的构造函数解决方法 1,先给子类定义一个构造函数,然后在构造函数的第一行就显式的调用父类带参数的构造方法package 子类与父类构造函数之间的关系;public class OnJobStudent extends Student String title;String company;OnJobStudent(String aName,int aNo)super( aName, aNo);package 子类与父类构造函数之间的关系;public class TestStudemt public static void main(String args) OnJobStudent a=new OnJobStudent(祁欣,007);/ TODO 自动生成的方法存根2.为父类创建一个无参数的构造函数package 子类与父类构造函数之间的关系;public class Student String name;int No;Student(String aName,int aNo)=aName;this.No=aNo;System.out.println(一个学生产生,姓名:++t学号:+this.No);Student()System.out.println(一个学生产生);4.子类无构造函数,则在生成子类对象时隐含的调用父类无参数的构造方法package 子类与父类构造函数之间的关系;public class Student String name;int No;Student(String aName,int aNo)=aName;this.No=aNo;System.out.println(一个学生产生,姓名:++t学号:+this.No);Student()System.out.println(一个学生产生);package 子类与父类构造函数之间的关系;public class OnJobStudent extends Student String title;String company;package 子类与父类构造函数之间的关系;public class TestStudemt public static void main(String args) OnJobStudent a=new OnJobStudent();/ TODO 自动生成的方法存根在该情境中,子类无构造函数,父类既有带参数的也有不带

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论