黑马程序员技术交流社区

标题: super ()和this() [打印本页]

作者: sabrina妖儿    时间: 2015-11-13 20:37
标题: super ()和this()
super是表示父类那边的。this是代表当前类。可是都是在哪些情况下用呢,一直很混乱。求代码解释
作者: young_ants    时间: 2015-11-13 21:56
继承的时候,super和this不能同时使用.
作者: zhauibuzhai    时间: 2015-11-13 21:56
class Person {
        private String name;                                        //姓名
        private int age;                                                //年龄

        public Person() {}                                                //空参构造

        public Person(String name,int age) {        //有参构造
                this.name = name;
                this.age = age;
        }

        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;
        }

        public void eat() {                                                //吃饭
                System.out.println(name  + "吃饭");
        }
}

class Student extends Person {
        public Student() {}                                                //空参构造

        public Student(String name,int age) {
                super(name,age);
        }

        public void study() {
                System.out.println(this.getName() + "学习");
        }
}

class Teacher extends Person {
        public Teacher() {}                                                //空参构造

        public Teacher(String name,int age) {
                super(name,age);
        }

        public void teach() {
                System.out.println(this.getName() + "讲课");
        }
}
作者: 哒哒的马蹄    时间: 2015-11-13 22:19
super:  当子类重写父类的方法后, 子类的对象将无法访问父类被重写的方法,  为解决该问题,   可以使用super关键字来访问父类的成员.




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