本帖最后由 汪平乐 于 2013-2-20 22:52 编辑
我写了下面的代码,希望对你有帮助,然后参照毕老师讲课的ppt加深理解 《Java基础[04-继承上]》{:soso_e133:}- class Animal
- {
- private String name;
- Animal()
- {
- System.out.println("父类空构造函数初始化动作");
- }
- Animal(String name)
- {
- this.name = name;
- System.out.println("父类 String name构造函数的初始化动作");
- }
- }
- class Bird extends Animal
- {
- private String name;
- private int age;
- Bird()
- {
- //super(); 默认的语句,因子类继承了父类,所以父类空构造函数是默认执行的。
- System.out.println("子类空构造函数初始化动作");
- }
- Bird(String name)
- {
- super(name);//对应的父类带(String name)的构造函数,这里不可以执行super();
- this.name = name;
- System.out.println("子类String name构造函数的初始化动作");
- }
- Bird (String name,int age)
- {
- this();//本类对象调用
- //this(name); //这里this()或this(name)只能出现一个,因为this()只能出现在构造函数的第一行
- //super()也是一样,只能出现在构造函数的第一行,并且在这里调用super(String name ,int age)的构造方法
- this.name = name;
- this.age = age;
- System.out.println("子类String name,int age 构造函数的初始化动作");
-
- }
- }
- class SuperDemo
- {
- public static void main(String[] args)
- {
- Bird b1 = new Bird();
- System.out.println("========================================================");
- Bird b2 = new Bird("小鸟");
- System.out.println("========================================================");
- Bird b3 = new Bird("小鸟",17);
- }
- }
复制代码 |