feat(class20): 子类构造器传参父类,兄弟构造器调用,重载方法,继承章完结
- 创建 People 类,包含姓名和性别属性 - 创建 Student 类,继承 People 类并添加年龄和学校属性- 创建 Teacher 类,继承 People 类并添加技能属性 - 实现了相应的 getter 和 setter 方法 - 重写了 Student 类的 toString 方法 - 新增了几个测试类来验证新创建的类
This commit is contained in:
@@ -8,18 +8,19 @@ public class Test {
|
||||
c.m1();
|
||||
}
|
||||
}
|
||||
class A{
|
||||
|
||||
class A {
|
||||
int a = 10;
|
||||
|
||||
void m1(){
|
||||
void m1() {
|
||||
System.out.println(a);
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A{
|
||||
class B extends A {
|
||||
int b = 30;
|
||||
}
|
||||
|
||||
class C extends B{
|
||||
class C extends B {
|
||||
int a = 30;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package class19;
|
||||
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
Cat c = new Cat();
|
||||
c.cry();
|
||||
Cat c = new Cat(); //创建对象
|
||||
c.cry();//调用cry方法
|
||||
|
||||
}
|
||||
}
|
||||
class Cat extends Animal{
|
||||
class Cat extends Animal{
|
||||
@Override //方法重写的校验注解,会校验与被重写方法的形参和返回值类型是否一致,保证方法重写安全
|
||||
public void cry() {
|
||||
System.out.println("喵喵喵~~~");
|
||||
@@ -18,5 +18,4 @@ class Animal{
|
||||
public void cry(){
|
||||
System.out.println("动物会叫~~~");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
30
src/class20/People.java
Normal file
30
src/class20/People.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package class20;
|
||||
|
||||
public class People {
|
||||
private String name;
|
||||
private char sex;
|
||||
public People(){
|
||||
|
||||
}
|
||||
|
||||
public People(String name, char sex) {
|
||||
this.name = name;
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
66
src/class20/Student.java
Normal file
66
src/class20/Student.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package class20;
|
||||
|
||||
public class Student {
|
||||
private String name;
|
||||
private int age;
|
||||
private char sex;
|
||||
private String schoolName;
|
||||
|
||||
public Student() {
|
||||
}
|
||||
|
||||
public Student(String name, char sex, int age) {
|
||||
//this 调用兄弟构造方法
|
||||
//默认值处理
|
||||
this(name,"黑马程序员",sex,age);
|
||||
}
|
||||
|
||||
public Student(String name, String schoolName, char sex, int age) {
|
||||
this.name = name;
|
||||
this.schoolName = schoolName;
|
||||
this.sex = sex;
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public char getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(char sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
public String getSchoolName() {
|
||||
return schoolName;
|
||||
}
|
||||
|
||||
public void setSchoolName(String schoolName) {
|
||||
this.schoolName = schoolName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Student{" +
|
||||
"name='" + name + '\'' +
|
||||
", age=" + age +
|
||||
", sex=" + sex +
|
||||
", schoolName='" + schoolName + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
19
src/class20/Teacher.java
Normal file
19
src/class20/Teacher.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package class20;
|
||||
|
||||
public class Teacher extends People{
|
||||
private String skill;
|
||||
public Teacher(){
|
||||
}
|
||||
public Teacher(String name, char sex, int age, String skill) {
|
||||
super(name, sex);
|
||||
this.skill = skill;
|
||||
}
|
||||
|
||||
public String getSkill() {
|
||||
return skill;
|
||||
}
|
||||
|
||||
public void setSkill(String skill) {
|
||||
this.skill = skill;
|
||||
}
|
||||
}
|
||||
21
src/class20/Test.java
Normal file
21
src/class20/Test.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package class20;
|
||||
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
Zi zi = new Zi(10);
|
||||
|
||||
}
|
||||
}
|
||||
class Zi extends Fu {
|
||||
public Zi(int a) {
|
||||
super(a);//指定调用有参构造器,防止无参构造器报错
|
||||
}
|
||||
}
|
||||
class Fu{
|
||||
private Fu(){
|
||||
System.out.println("父类无参构造方法执行了");
|
||||
}
|
||||
public Fu(int a){
|
||||
System.out.println("父类有参构造方法执行了");
|
||||
}
|
||||
}
|
||||
14
src/class20/Test2.java
Normal file
14
src/class20/Test2.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package class20;
|
||||
|
||||
public class Test2 {
|
||||
public static void main(String[] args) {
|
||||
Teacher t = new Teacher();
|
||||
t.setName("张三");
|
||||
System.out.println(t.getName());
|
||||
Teacher t1 = new Teacher("张三", '男', 18, "java");
|
||||
System.out.println(t1.getName());
|
||||
System.out.println(t1.getSkill());
|
||||
System.out.println(t1.getSex());
|
||||
|
||||
}
|
||||
}
|
||||
8
src/class20/Test3.java
Normal file
8
src/class20/Test3.java
Normal file
@@ -0,0 +1,8 @@
|
||||
package class20;
|
||||
|
||||
public class Test3 {
|
||||
public static void main(String[] args) {
|
||||
Student s = new Student("张三","黑马程序员",'男',18);
|
||||
System.out.println(s.toString());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user