类继承和初始化类的执行顺序

来源:互联网 发布:知乎2017校园招聘 编辑:程序博客网 时间:2024/05/22 07:49

初始化类的执行顺序:子类初始化-》-》子类构造方法-》父类-》构造方法-》属性-》构造方法中内容-》构造方法下面的内容-》子类属性-》子类构造方法中内容

 

在Java编程语言中,对象的初始化是非常结构化的,这样做是为了保证安全。在前面的模块中,看到了当一个特定对象被创建时发生了什么。由于继承性,对象被完成,而且下述行为按顺序发生:

(1)存储空间被分配并初始化到0值

(2)进行显式初始化

(3)调用构造方法

(4)层次中的每个类都会发生最后两个步骤,是从最上层开始。

Java技术安全模式要求在子类执行任何东西之前,描述父类的一个对象的各个方面都必须初始化。因此,Java编程语言总是在执行子构造方法前调用父类构造方法的版本。 有继承的类在运行的时候,一定要记得:初始化子类必先初始化父类,这是Java程序的一个基本运行过程。比如:

第1行public class Test extends Parent{

第2行 private String name = "Java私塾";

第3行 private int age = 2;

第4行 public Test(){

第5行 age = 1000;//期望能到1000年,呵呵

第6行 }

第7行 public static void main(String[] args) { 

第8行 Test t = new Test();

第9行 System.out.println(t.name+"的年龄是"+t.age+"年");

第10行 }

第11行}

第12行class Parent{

第13行 private int num = 1;

第14行 public Parent(){

第15行 System.out.println("现在初始化父类");

第16行 }

第17行 public void test(){

第18行 System.out.println("这是父类的test方法");

第19行 }

第20行}

上述类的基本运行顺序是: (1):先运行到第7行,这是程序的入口 (2):然后运行到第8行,这里要new一个Test,就要调用Test的构造方法 (3):就运行到第4行,注意:初始化子类必先初始化父类 (4):要先初始化父类,所以运行到第14行 (5):然后是第13行,初始化一个类,必须先初始化它的属性 (6):然后是第15行 (7):然后是第16行,表示父类初始化完成 (8):然后是回到子类,开始初始化属性,因此运行到第2行,然后是第3行 (9):子类属性初始化完过后,才回到子类的构造方法,执行里面的代码,也就是第5行 (10):然后是第6行,表示new一个Test实例完成 (11):然后回到main方法中执行第9行 (12):然后是第10行 运行结果是: 现在初始化父类 Java私塾的年龄是1000年


本文转载自:http://www.cnblogs.com/ruiati/archive/2013/09/05/3302978.html

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 wps表格输入数字变乱码怎么办 文档中光标变粗怎么办 wps排序有重复的怎么办 记英语数字老是混怎么办 苹果手机输入法出数字怎么办 word文档复制过来有底色怎么办 表格复制后还再显示复制符号怎么办 笔记本字母键打出数字怎么办 wps打字字上移了怎么办 微信里黑圈里面的白字是怎么办 脖子比脸黑好多怎么办 河南许昌小学生生病办休学怎么办 1岁宝宝内向胆小怎么办 3岁宝宝内向胆小怎么办 数学物理好不喜欢学医怎么办 孩子眉毛太浓了怎么办 小娃一年级成绩太差怎么办 孩子晚上睡得晚怎么办 在深圳买房难小孩读书怎么办 上海小孩读书积分不够怎么办 读书时静不下心怎么办 初中生静不下心读书怎么办 孩子学习静不下心怎么办 退烧后体温35度怎么办 孩子体温34度多怎么办 宝宝感冒咳嗽流鼻涕出汗怎么办 养的小鸡总打架怎么办 小鸡一条腿瘸了怎么办 同窝小斗鸡打架怎么办 夏季羊长的慢怎么办 1岁吃母乳不吃饭怎么办 5个月宝宝黏妈妈怎么办 九个月宝宝不爱吃饭怎么办 20个月宝宝吐了怎么办 十个月的宝宝消化不好怎么办 两岁宝宝不爱喝水怎么办 两岁宝宝不爱喝水吃饭怎么办 两岁的宝宝不爱喝水怎么办 宝宝不爱吃饭不爱喝水怎么办 一多半宝宝爱喝水 不爱吃饭怎么办 1岁宝宝不爱吃饭喝水怎么办