版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章类的层次结构、牙齿章节中的目录、3.1类的继承3.2Final类3.3多态3.4抽象类3.5介面3.6内部类3.7匿名类、3.1类的继承、3.1.1 extends继承3.1.2super和派生类对象的配置3.1.3继承的方法,用于3.1.4super的其他使用3 . 1 . 5继承过程中,子类修改父类的某些定义或更改同一方法的内部操作。或者添加新任务。此外,由于继承,可以由父类提供的方法和子类也可以因继承而使用。pro 3 _ 1: class student private int age;Private String StudentNopublic boolean setage(i
2、ntvalue)if(value 17)age=value;Return trueElse return falsepublic int GetAge()return Age;public boolean sets no(string value)student no=value;Return truepublic string get SnO()return student no;class girl student extends student private int shape course grade;public boolean setshapecoursegrade(int va
3、lue)if(value=0)shape coursegrade=value;Return trueElse return falsepublic int getshapecoursegrade()return shape course grade;public classtest public static void main(string args)girl student stu=new girl student();Boolean ageFlag=stu。SetAge(18);boolean grade flag=stu . setshapecoursegrade(78);在If (a
4、geFlag),Pro3_1 _ 1中,女性学生(GirlStudent)继承自学生(Student),因此由于学生类中的所有方法、女性学生和继承而存在。创建女性学生实例时,还可以使用在女性学生类中新增的方法SetShapeCourseGrade和GetShapeCourseGrade。因此,继承允许重用代码。父类的数据成员也可以从子类继承。示例:class Location int x,y;位置(int x,int y)this . x=x;This.y=yvoid show()system . out . print ln(this . x this . y);class point 12
5、3 extends location boolean visible;Point 123 (int x,int y,boolean TF) super (x,y);This.visible=TFVoid moveTo(int x,int y)this . x=x;This.y=y,输出结果:100 100,public classtest point circle public static void main(string args)point 123 p=new point 123(100,100 P、3.1.2super和派生类对象的配置,配置方法可以在创建对象时为对象的数据成员指定初始
6、分配,也可以通过配置方法中的语句执行特定行为。然后,子类添加数据成员以派遣生父类,需要初始分配,或者子类具有在创建对象时必须实现的行为,子类还必须定义如何配置。(大卫亚设,美国电视电视剧,子类也必须定义配置方法。)。这里要考虑的问题是父类的构造方法在执行子类的构造方法时如何相应地执行。因此,您可以使用super在子类的配置方法中调用超类配置方法,以执行超类的配置方法。class Value1 int x、y;值1 (int x,int y)this . x=x;This.y=ySystem.out.println(我从Value1的配置方法输出。)Int GetX()return x;clas
7、s value 2 extends value 1 value 2(int x,int y) super (x,y);System.out.println(我从Value2的配置方法输出。)、public class var public static void main(string args)int;值2 v2=newvalue2 (10,20);T=v2。GetX() v2。GetX();system . out . print(add=t);输出:从Value1的配置方法输出。从Value2的构造方法导出的add=20。子类对象的内存空间包含父类对象的数据。如果未调用超类对象的配置方法
8、,则表示超类对象未配置“全部”。也就是说,父类中的对象未正确配置。牙齿父类的实际数据不准确,因此在创建子类的对象时,必须首先调用父类对象的配置方法,然后再调用子类的配置方法。子类对象的配置方法可以为继承自父类的成员重置值。、class base class private string hostname;BaseClass() hostName=Amy!Public string getname()return hostname;class derived class extends base class,public class test inherit public static void
9、 main(string args)derived class d=new derived,其中调用了BaseClass的配置方法,hostName数据成员的值为Amy!所以输出:艾米!如果父类提供多个配置方法:无参数的配置方法和其他参数配置方法,子类可以为子类提供默认配置方法,并且可以选择在实例化子类对象时调用父类的配置方法,因此子类可能仍然不定义任何配置方法。输出结果:Tom!输出结果:Amy!class base class private string hostname;BaseClass() hostName=Amy!Baseclass (strings)主机名=s;public s
10、tring getname()return hostname;class derived class extends base class derived class(strings)super(s);public class test public static voidmain(string args)derived class d=new derived class(Tom!);system . out . print ln(d . get name();超级();输出结果:艾米!等于:super();系统总是默认提供配置方法吗?如果父类没有默认配置方法(如果定义了包含参数的其它配置方法
11、,则显示此方法),或者没有定义没有参数的配置方法,则子类必须具有super()之类的语句,这样才能调用父类的非牙齿默认配置方法。以下示例:class base class private string hostname;Baseclass (strings)主机名=s;public string getname()return hostname;class derived class extends base class derived class(strings),super(s);根据super的参数选择调用父类的构造方法。class base class private string h
12、ostname;Baseclass (strings)主机名=s;public string getname()return hostname;class derived class extends base class derived class(strings)super(s);public class test inherit public static void main(string args)derived class d=new derived class(Tom!);system . out . print ln(d . get name();输出结果:Tom!子类对象的配置方
13、法可以为继承自父类的成员重置值。class BaseClass String hostNameBaseClass() hostName=Amy!“;public string getname()return hostname;class derived class extends base class derived class()super . hostname=bob;超级();public class test public static voidmain(string args)derived class d=new derived class();system . out . pri
14、nt ln(d . get name();constructor call must be the first statement in a constructor、3.1.3继承中的方法复盖、子类继承父类,如果需要复盖父类的功能(方法)之一,则只需在子类的定义中重写方法、CLLBaseclass (strings)主机名=s;public string getname()return hostname;class derived class extends base class derived class(strings)super(s);public string get name()re
15、turn name : super . get name();public class test public static voidmain(string args)derived class d=new derived class(Tom!);system . out . print ln(d . get name();输出结果:Name:Tom!3.1.4super的另一种用法,super还可以用于表示类层次结构中与父类同名的方法和成员变量。如果子类的方法成员或数据成员名称复盖其父类的成员,并且需要调用父类中同名的方法或同名的数据,则可以使用super。,class Value1 int
16、 x,y;公共intgetx()return x;公共intgety()return y;class value 2 extends value 1 int x;void show()super . x=10;This.x=100This.y=100System.out.println (super.getx()、super.gety()、getx();公共intgetx()return x;public class var public static void main(string args)value 2 v2=new value 2();v2 . show();10,100,100,s
17、ystem.out.println (super.getx()、getx()、this . getx();System.out.println (super.gety()、gety()、this . gety();隐藏10,100,100 100,100,100,3.1.5 super变量的优点。如果在子类中定义了与父类同名的变量,则不能在子类对象中直接使用父类的牙齿变量。class Value1 public int x=10,y=20class value 2 extends value 1 private int x:/父类的成员变量是隐藏的。public class simple public static void main(stringargs)value 2 v2=new value 2();system . out .
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 曲张静脉内镜治疗
- 信用评级机构评级报告协议
- 《ISO 14001-2026环境管理体系 要求和使用指南》211项要求专业解读和应用(实施)指导清单之9-“6.1应对风险和机遇的措施-6.1.2环境因素”(雷泽佳编制-2026A0)
- 青岛大学c语言试题及答案详解
- 第21讲 无机非金属材料、化学与可持续发展
- 消防安全体验馆建设费用参考
- 扩张型心肌病护理查房
- 职业健康安全管理体系内审员培训班试题及答案
- 新生儿机械通气护理查房
- 河北廊坊市三河市光大衡高部2026-2027学年高二上学期开学摸底测试政治试题(文字版含答案)
- 2026年江苏压力容器考试试题及答案
- 2026年度医师定期考核【执业-3】
- (2026年)重症后管理专家共识应用经验分享学习与解读课件
- 浦北县小江镇招聘社区网格员考试试题附答案详解
- 上海八年级数学上册-一元二次方程的应用-实际问题(同步练习)
- 2026年全市统计基本单位名录库题库
- 大学新教师入职培训
- 科室内部投诉管理制度
- 羊水栓塞案例分析
- 2026年陕西水务发展集团及所属企业招聘(20人)参考考试试题及答案解析
- 点胶工艺技术
评论
0/150
提交评论