目录
继承(extends)
继承的实现是不难的,下面通过具体的代码实现大家就能明白了。
代码举例:
创建对象的时候,构造方法(构造器)是如何执行的?
-
如果有静态代码块则先执行父类静态代码块,然后子类静态代码块
-
再执行父类构造器
-
再执行子类构造器
-
再执行set get方法
-
创建什么对象,执行的this 就是谁
子类:Teacher类
------------------------------------------------------------
public class Teacher extends Person {
static {
System.out.println("子类静态代码块");
}
public Teacher() {
System.out.println("子类构造器");
System.out.println(this);
}
public void teacher() {
System.out.println("老师教书");
}
}
子类:Studet类
----------------------------------------------------------------------
public class Student extends Person {
static {
System.out.println("子类静态代码块");
}
public Student() {
System.out.println("子类构造器");
System.out.println(this);
}
public void study() {
System.out.println("学生学习");
}
}
父类:Person类
-----------------------------------------------------------------------------
public class Person {
static {
System.out.println("父类静态代码块");
}
public Person() {
System.out.println("父类构造器");
System.out.println(this);
}
private String name;
private int 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;
}
}
Test类
-----------------------------------------------------------------------
public class Test {
public static void main(String[] args) {
Student student = new Student();
student.setName("CoderZjz");
student.setAge(21);
System.out.println(student.getName() + student.getAge());
Teacher teacher = new Teacher();
teacher.setName("李四");
teacher.setAge(30);
System.out.println(teacher.getName() + teacher.getAge());
}
}
--------------------------------------------------------------------------
运行结果:
父类静态代码块
子类静态代码块
父类构造器
practice.extend.Student@4554617c
子类构造器
practice.extend.Student@4554617c
CoderZjz21
子类静态代码块
父类构造器
practice.extend.Teacher@74a14482
子类构造器
practice.extend.Teacher@74a14482
李四30
创作不易,如有帮助请点个赞吧!