父类:Class Father
子类:Class Son extends Father
package com.zwq.test;
/**
*
* @author Jerome
*/
public class Father {
static String father_name = "";
String father_filed_name="Father";
static {
father_name = "I am Father!";
System.out.println("Father static stock");
}
Father() {
System.out.println("Father Constructor");
}
}
package com.zwq.test;
/**
*
* @author Jerome
*/
public class Son extends Father {
static String son_name = "";
String son_filed_name="Son";
static {
son_name = "I am Father!";
System.out.println("Son static stock");
}
Son() {
System.out.println("Son Constructor");
}
}
一、执行顺序:
Son son = new Son();
运行结果:
Father static stock
son static stock
Father Constructor
son Constructor
总结:
1、现有父类,再有子类:当要创建子类这个对象时,发现这个类需要一个父类,所以把父类的.class加载进来,先构造父类;
2、创建顺序依次是:静态变量、块、方法-->成员变量、方法;
二、相互转化:
1、子类——>父类:
Father father = new Son();
在这里Son 对象实例被向上转型为Father了,但Son对象实例在内存中的本质还是Son类型的,是只father实例指向了son对象。这个时候其能力临时被消弱了,即:部分属于Son而不属于Father的属性和方法无法使用。
2、父类——>子类:
Son son = (Son)new Father();
属于强制类型转换,上述转换会抛出ClassCastException异常信息,当引用类型的真实身份是父类本身的类型时,强制类型转换就会产生错误。
Father son = new Son();
Son son1 = (Son)son;
这样就可以强制转换了,即要转换成什么类型,其本质应该是什么类型;
三、instanceof:
java中的instanceof运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
直接引用别人的结论:
1、对象实现一个接口,用这个对象和这个接口进行instanceof判断,都为true。
2、对象和父类进行instanceof判断,都为true。
3、对象和他的子类进行instanceof判断为false。
可参看:http://09572.iteye.com/blog/1562277
分享到:
相关推荐
NULL 博文链接:https://2528.iteye.com/blog/1523901
java 子类对象赋值给父类对象的使用,包括代码及详解,个人笔记
Java的子类调用父类的构造方法.pdf
有关子类和父类。A是子类,Teacher是父类。A是Teacher 的一种(子类)会继承父类李非私
父类赋值给子类的一个小方法,仅供学习参考...
主要介绍了Java父类调用子类的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
论JAVA继承机制中父类与子类的关系
java反射获取所有属性,获取所有get方法,包括子类父类,以及包括List集合类
本篇文章是对java父类和子类初始化顺序进行了详细的分析介绍,需要的朋友参考下
java代码-使用java解决父类与子类的声明应用的源代码 ——学习参考资料:仅用于个人学习使用!
主要介绍了php类常量用法,实例分析了php中类常量的概念、特性与相关使用技巧,需要的朋友可以参考下,类常量属于类自身,不属于对象实例,不能通过对象实例访问,子类可以重写父类中的常量,可以通过(parent::)来...
java多态性详解——父类引用子类对象
java定义父类和子类.doc
利用C#反射将子类舍弃多余的属性转换为父类,用途比较少。
java子类重写父类的方法.doc
主要介绍了Java中父类和子类之间的转换操作,结合实例形式分析了Java中父类和子类之间的转换相关原理、操作技巧与使用注意事项,需要的朋友可以参考下
【java】父类声明子类实例化.mhtml
继承语法:class 类名(父类名):子类继承自父类,可以享受父类中已经封装好的方法,不需要再次定义子类中应该根据职责,封装子类特有的属性和方法。语法格式:cl
Day10:javaBean 介绍和父类子类转换 Day11:java 的抽象类和接口 Day12:String 类和字符编码介绍 Day13:正则表达式和包装类 Day14:java 的内部类 Day15:java 的集合类 Day16:java 的异常处理 Day17:Swing ...