01 面向对象之继承
public class Inheritance02 {
public class Person {
private String nickname;
private int gender;
private int age;
}
public class Boy extends Person{
}
public class Girl extends Person{
}
}
02 面向对象之继承代码实现
public class Inheritance03 {
public static class Person {
private String nickname;
private int gender;
private int age;
public Person() {
}
public Person(String nickname, int gender, int age) {
this.nickname = nickname;
this.gender = gender;
this.age = age;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public static class Boy extends Person {
}
public static class Girl extends Person {
}
}
import Inheritance03;
import org.junit.jupiter.api.Test;
public class Inheritance03Test {
@Test
public void test01() {
Inheritance03.Person person = new Inheritance03.Person("姓名", 1, 999);
System.out.println("姓名 >>> " + person.getNickname());
System.out.println("性别 >>> " + (person.getGender() == 1 ? "小伙儿" : "老妹儿"));
System.out.println("年龄 >>> " + person.getAge());
}
@Test
public void test02() {
Inheritance03.Boy person = new Inheritance03.Boy();
person.setNickname("姓名");
person.setGender(1);
person.setAge(20);
System.out.println("姓名 >>> " + person.getNickname());
System.out.println("性别 >>> " + (person.getGender() == 1 ? "小伙儿" : "老妹儿"));
System.out.println("年龄 >>> " + person.getAge());
}
@Test
public void test03() {
Inheritance03.Girl person = new Inheritance03.Girl();
person.setNickname("姓名");
person.setGender(0);
person.setAge(28);
System.out.println("姓名 >>> " + person.getNickname());
System.out.println("性别 >>> " + (person.getGender() == 1 ? "小伙儿" : "老妹儿"));
System.out.println("年龄 >>> " + person.getAge());
}
03 super关键字
public class Inheritance04 {
public static class Person {
private String nickname;
private int gender;
private int age;
public Person() {
}
public Person(String nickname, int gender, int age) {
this.nickname = nickname;
this.gender = gender;
this.age = age;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public static class Boy extends Person {
public Boy() {
}
public Boy(String nickname, int gender, int age) {
super(nickname, gender, age);
}
}
public static class Girl extends Person {
public Girl() {
}
public Girl(String nickname, int gender, int age) {
super(nickname, gender, age);
}
}
}
import Inheritance04;
import org.junit.jupiter.api.Test;
public class Inheritance04Test {
@Test
public void test01() {
Inheritance04.Person person = new Inheritance04.Person("姓名", 1, 999);
System.out.println("姓名 >>> " + person.getNickname());
System.out.println("性别 >>> " + (person.getGender() == 1 ? "小伙儿" : "老妹儿"));
System.out.println("年龄 >>> " + person.getAge());
}
@Test
public void test02() {
Inheritance04.Boy person = new Inheritance04.Boy("姓名", 1, 20);
System.out.println("姓名 >>> " + person.getNickname());
System.out.println("性别 >>> " + (person.getGender() == 1 ? "小伙儿" : "老妹儿"));
System.out.println("年龄 >>> " + person.getAge());
}
@Test
public void test03() {
Inheritance04.Girl person = new Inheritance04.Girl("姓名", 0, 18);
System.out.println("姓名 >>> " + person.getNickname());
System.out.println("性别 >>> " + (person.getGender() == 1 ? "小伙儿" : "老妹儿"));
System.out.println("年龄 >>> " + person.getAge());
}
}
04 子父类实例化顺序
public class Inheritance05 {
public static class Person {
private String nickname;
private int gender;
private int age;
public Person() {
System.out.println("我是Person类的无参构造方法");
}
public Person(String nickname, int gender, int age) {
System.out.println("我是Person类的有参构造方法");
this.nickname = nickname;
this.gender = gender;
this.age = age;
}
public String