super
一、理解
super.属性:在子类中,调用父类非私有化的成员属性
super.方法:在子类中,调用父类非私有化的成员方法
super():在子类构造方法中调用父类非私有的构造方法
二、案例
需求:编写中国人和日本人的类
分析:
人类:
属性:姓名、性别、年龄
方法:吃饭饭、睡觉觉
中国人类 继承 人类:
属性:身份证
方法:打太极
日本人类 继承 人类:
属性:年号
方法:拍电影
1、主方法入口
package com.xx.test03;public class Test01 {public static void main(String[] args) {Chinese c = new Chinese("侯小康", '男', 23, "12345678901");c.eat();c.sleep();c.playTaiJi();System.out.println("------------------------------");Japanese j = new Japanese("波多野结衣", '女', 18, "令和");j.eat();j.sleep();j.playVedio();}
}
2、Person-父类
package com.qf.test03;public class Person {//私有化属性
private String name;
private char sex;
private int age;
//无参数构造方法
public Person() {
}
//有参数构造方法
public Person(String name, char sex, int age) {this.name = name;this.sex = sex;this.age = age;
}
//set/get方法
public String getName() {return name;
}public void setName(String name) {this.name = name;
}public char getSex() {return sex;
}public void setSex(char sex) {this.sex = sex;
}public int getAge() {return age;
}public void setAge(int age) {this.age = age;
}public void eat(){System.out.println(this.name + "吃饭饭");
}public void sleep(){System.out.println(this.name + "睡觉觉");}
}
3、Chinese-子类
package com.xx.test03;public class Chinese extends Person{private String id;public Chinese() {}public Chinese(String name, char sex, int age, String id) {super(name, sex, age);this.id = id;}public String getId() {return id;}public void setId(String id) {this.id = id;}public void playTaiJi(){System.out.println(super.getName() + "打太极");}}
4、 Indians -子类
package com.xx.test03;public class Indians extends Person{
private String yearNum;public Indians() {
}public Indians(String name, char sex, int age, String yearNum) {super(name, sex, age);this.yearNum = yearNum;
}public String getYearNum() {return yearNum;
}public void setYearNum(String yearNum) {this.yearNum = yearNum;
}public void playVedio(){System.out.println(super.getName() + "拍电影");}
}