黑马程序员技术交流社区

标题: super关键字和this 关键字在继承中的小问题 [打印本页]

作者: 窗外的雪儿飞    时间: 2015-8-30 23:24
标题: super关键字和this 关键字在继承中的小问题
今天课上这问题困扰了我一个大中午,问了老师和同学终于解决了,感觉脑子转得有些慢,哎。路还很长!!
class Demo_Extends {
        public static void main(String[] args) {
                Son s1 = new Son();
                System.out.println(s1.getName() + "..." + s1.getAge());
                System.out.println("--------------------");
                Son s2 = new Son("张三",23);
                System.out.println(s2.getName() + "..." + s2.getAge());
        }
}
        class Father {
        private String name;                        //姓名
        private int age;                                //年龄

        public Father() {                                //空参构造
                System.out.println("Father 空参构造");
        }

        public Father(String name,int age) {        //有参构造
                this.name = name;
                this.age = age;
                System.out.println("Father 有参构造");
        }

        public void setName(String name) {        //设置姓名
                this.name = name;
        }

        public String getName() {                        //获取姓名
                return name;
        }

        public void setAge(int age) {                //设置年龄
                this.age = age;
        }

        public int getAge() {                                //获取年龄
                return age;
        }
}

class Son extends Father {
        public Son() {       
                //空参构造
                this("王五",25);                               
                //super("李四",24);                                //调用父类中的构造方法
               
                System.out.println("Son 空参构造");
        }

        public Son(String name,int age) {        //有参构造
                super(name,age);
                System.out.println("Son 有参构造");
        }
}

总结:* 父类没有无参构造方法,子类怎么办?
         * super()解决
        * this解决






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