一、怎样判断对象是否可以转换? 可以使用instanceof判断一个对象是否可以转换为目标类型: 运行截图: 二、现在有三个类: class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} 针对每个类定义三个变量 并进行 ...
分类:
其他好文 时间:
2017-11-11 00:23:39
阅读次数:
202
1.怎样判断对象是否可以转换? 答:可以使用instanceof运算符判断一个对象是否可以转换为指定的类型:实例: 程序运行结果: 2.现有三个类 class Mammal{} class Dog extends Mammal{} class Cat extends Mammal{} 先对其分别进行 ...
分类:
其他好文 时间:
2017-11-10 23:19:45
阅读次数:
206
一、继承条件下构造方法的调用 测试代码一: 测试结果: 测试代码二: 测试结果: 测试代码三: 测试结果: (构造函数调用必须在构造函数第一条语句) 结论:子类的构造方法在运行之前,必须调用父类的构造方法。 原因:构造函数的作用为初始化,当被继承的父类未初始化时,无法生成子类对象。 二、Parent ...
分类:
其他好文 时间:
2017-11-10 23:02:41
阅读次数:
176
继承与多态动手动脑问题: public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new ...
分类:
其他好文 时间:
2017-11-10 21:56:25
阅读次数:
199
1 . 继承条件下的构造方法调用 截图: 第一个是没有用super,第二个用到了super,super()括号中有参数,所以就调用了有参数的基类构造方法。当把super的语句放到后面的时候,程序报错,构造函数调用必须是构造函数中的第一个语句。 父类与子类之间构造方法的调用关系修改Parent构造方法 ...
分类:
其他好文 时间:
2017-11-10 20:33:14
阅读次数:
197
反编译结果: 打开object 这与课件给出基本相同 结果: 总结: (1)覆盖方法的允许访问范围不能小于原方法。 (2)覆盖方法所抛出的异常不能比原方法更多。 (3)声明为final方法不允许覆盖。 例如,Object的getClass()方法不能覆盖。 (4)不能覆盖静态方法。 四.下列语句哪一 ...
分类:
其他好文 时间:
2017-11-10 20:17:46
阅读次数:
154
1.继承中类型的转换 源代码: 这个程序不能正常运行,因为在主函数里d=m;这句话不符合Java的规则, 在继承中,基类不能对子类的对象赋值,而子类可以对基类的对象赋值, 而且,非继承关系的两个类再赋值是也应该先进行强制转化,比如:d=c;, 强制转化也不是每次都可以成功的。可以使用instance ...
分类:
其他好文 时间:
2017-11-10 18:35:57
阅读次数:
154
1. 为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来? 构造方法在创建对象时被调用,用来初始化新对象,即为对象成员变量赋初值。子类要继承父类的成员变量和方法,如果不调用父类的构造方法,那么父类的成员变量和成员方法无法在子类创建对象时正确初始化。反过来调用不可以 ...
分类:
其他好文 时间:
2017-11-10 15:54:55
阅读次数:
170
1.请看以下“变态”的类 public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new ...
分类:
其他好文 时间:
2017-11-10 15:08:58
阅读次数:
173
第七讲 继承与多态 一、为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来? 1. 由于子类是继承父类的,所以想用子类创建对象时,必须先创建父类的对象,这样子类才能有父类的属性和方法。在创建对象时如果父类的数据需要进行初始化,那么就需要调用父类的构造函数,使构造函 ...
分类:
其他好文 时间:
2017-11-10 12:56:08
阅读次数:
195