本帖最后由 g552092947 于 2015-7-1 18:39 编辑
- package com.itheima;
- public class People {
- /**
- * @param args
- * 第能以一个People类包含属性姓名,年龄
- */
- private String name;
- private int age;
- //定义一个无参的构造函数
- public People() {
- // TODO Auto-generated constructor stub
- super();
- System.out.println("我是无参构造函数");
-
- }
- //定义一个含参的构造函数
- public People(String name,int age)
- {
- super();
- this.name=name;
- this.age=age;
- System.out.println("我是有参构造函数");
- System.out.println("我的名字是"+name+",我的年龄是"+age);
-
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //创建无参对象
- People p=new People();
-
- System.out.println("---------------------------");
- //创建有参对象
- People p1=new People("张三",22);
-
- }
- }
复制代码
如题,当调用有参的构造函数的时候,会加载super();这一句,然后调用无参构造函数,无参函数中的super();不就是在调用自己吗?最后不该输出
我是无参构造函数
---------------------------
我是无参构造函数
我是有参构造函数
我的名字是张三,我的年龄是22
为什么会是
我是无参构造函数
---------------------------
我是有参构造函数
我的名字是张三,我的年龄是22
|
|