摘要: 下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 我认为第一句不出错,可以用子类给父类赋值,因为子类里有父类里所有的变量;第二句会出错,不能用父类变量来给子类赋值,父类里面不一定包含不全子类里所有的变量;第三 阅读全文
posted @ 2022-10-14 00:21 一统天下。 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 1. 左边的程序运行结果是什么? 2. 你如何解释会得到这样的输出? (1):当子类和父类拥有同名方法时,并且让一个父类变量引用一个子类对象时,调用哪个方法由自己的真实类型来决定。 (2):如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中 阅读全文
posted @ 2022-10-14 00:19 一统天下。 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 请自行编写代码测试以下特性(动手动脑): 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。 package TestInherits; public class Person { String name; int age; double score; void introduce() 阅读全文
posted @ 2022-10-14 00:16 一统天下。 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么? 构造函数是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即 阅读全文
posted @ 2022-10-14 00:13 一统天下。 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 1.运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大! class Grandparent { public Grandparent 阅读全文
posted @ 2022-10-14 00:11 一统天下。 阅读(158) 评论(0) 推荐(0) 编辑