黑马程序员技术交流社区

标题: 大家来给我看看这个super();是什么意思啊 [打印本页]

作者: g552092947    时间: 2015-7-1 18:37
标题: 大家来给我看看这个super();是什么意思啊
本帖最后由 g552092947 于 2015-7-1 18:39 编辑
  1. package com.itheima;

  2. public class People {

  3.         /**
  4.          * @param args
  5.          * 第能以一个People类包含属性姓名,年龄
  6.          */
  7.         private String name;
  8.         private int age;
  9.         //定义一个无参的构造函数
  10.         public People() {
  11.                 // TODO Auto-generated constructor stub
  12.                 super();
  13.                 System.out.println("我是无参构造函数");
  14.                
  15.         }
  16.         //定义一个含参的构造函数
  17.         public People(String name,int age)
  18.         {
  19.                 super();
  20.                 this.name=name;
  21.                 this.age=age;
  22.                 System.out.println("我是有参构造函数");
  23.                 System.out.println("我的名字是"+name+",我的年龄是"+age);
  24.                
  25.         }
  26.         public static void main(String[] args) {
  27.                 // TODO Auto-generated method stub
  28.                 //创建无参对象
  29.                 People p=new People();
  30.                
  31.                 System.out.println("---------------------------");
  32.                 //创建有参对象
  33.                 People p1=new People("张三",22);
  34.                
  35.         }

  36. }
复制代码



如题,当调用有参的构造函数的时候,会加载super();这一句,然后调用无参构造函数,无参函数中的super();不就是在调用自己吗?最后不该输出

我是无参构造函数
---------------------------
我是无参构造函数
我是有参构造函数
我的名字是张三,我的年龄是22

为什么会是
我是无参构造函数
---------------------------
我是有参构造函数
我的名字是张三,我的年龄是22






作者: g552092947    时间: 2015-7-1 18:53
尼玛…………看花眼了    这里的super没有用,super是继承父类的,这里没有继承,真是2
作者: vilion    时间: 2015-7-1 21:13
要有一颗会发现的心
作者: 等你的季节-夏天    时间: 2015-7-1 21:29
天空飘来5个字
作者: kime    时间: 2015-7-1 21:33
其实People类的父类是Object类,所以super()调用的是Object的构造函数,楼主完全可以把两个super()删掉,因为在实例People对象的时候系统会默认调用的。
作者: 赵文斌    时间: 2015-7-1 21:51
People p=new People();   这句话将调用父类中的无参构造函数
作者: 赵文斌    时间: 2015-7-1 21:52
People p1=new People("张三",22); 这将调用父类中的带参构造函数
作者: GiveUp    时间: 2015-7-1 23:52
看不清,眼已瞎
作者: qxc1281    时间: 2015-7-2 09:01
调用父类的无参构造函数




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2