本帖最后由 黄奕豪 于 2012-5-19 10:35 编辑
- /*
- 如下代码:大家都知道子类继承父类的时候,子类新建对象new Zi()的时候得调用其构造函数Zi()对其初始化,而Zi()构造函数又通过super()来调用父类的构造函数来对继承父类的方法和属性先初始化,也可以说在新建new Zi()的时候是先有的父类的age属性和showFu()方法,再有子类的name属性和showZi()方法,那我的问题来了!接口没有构造函数,如果是接口的实现呢?是先有的showJieKou()方法,还是先有showZi()方法?实现接口时子类的加载过程是怎么样的呢?
- <font color="red">很抱歉,可能我没表达清楚,我是想弄清楚showZi()和showJieKou()方法在新建对象new Zi()的时候在内存中加载!!还是在新建对象完了,对象调用的时候,再在内存中加载,然后加载的顺序是在样的?</font>*/
- class Fu//定义的父类
- {
- private age;
- Fu(int a)//父类的构造方法
- {
- age=a;
- }
- void showFu()
- {
- System.out.priintln("Show Fu")
- }
- }
- interface JieKou//定义一个接口
- {
- void showJieKou();
- }
- class Zi extends Fu implements JieKou//定义子类,继承Fu,实现JieKou
- {
- private name;
- Zi(String n,int a)//子类的构造函数
- {
- super(a);
- name=n;
- }
- void showZi()
- {
- System.out.priintln("Show Zi")
- }
- void showJieKou(){}//对接口的实现
- }
- class Demo
- {
- public static void main(String[] args)
- {
- Zi z=new Zi("lisi",50);
- ]
- }
复制代码 |