子类和父类构造方法的执行先后问题
2015-11-30 20:30
225 查看
在java中如果一个类中没有显式的使用super()进行调用超类的构造方法,则在执行子类构造方法之前会首先待用父类的构造方法,如下:
/** * Created by zhuxinquan on 15-11-24. */ class Circle{ double radius = 10; public Circle(){ //this(0); System.out.println("Parent radius"+radius); } public Circle(double r){ radius = r; System.out.println("Parent radius"+radius); } } class Cylinder extends Circle{ double height = 100; public Cylinder(){ System.out.println("height"+height); } } public class Ex5_5 { public static void main(String[] args){ Cylinder obj = new Cylinder(); System.out.println(obj.radius); } }
在Cylinder类中没有显式的调用super(),则在声明Cylinder类时,首先会调用超类的构造方法,在执行完成超类的构造方法之后再会执行本类的构造方法,就会产生如下的结果:
Parent radius10.0
height100.0
10.0
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树