父类:
这是子类静态代码块
这是父类的无参构造
这是子类无参构造
这是父类的普通方法
这是子类复写的父类方法
package com.blm.java;
public class Ainimal {
static {
System.out.println("这是父类的静态代码块");
}
private String name;
public Ainimal() {
super();
System.out.println("这是父类的无参构造");
}
public Ainimal(String name) {
super();
this.name = name;
System.out.println("这是父类的有参构造");
}
public void eat() {
System.out.println("这是父类的普通方法");
}
}
子类:
package com.blm.java;
public class Cat extends Ainimal {
static {
System.out.println("这是子类静态代码块");
}
private String color;
public Cat() {
super();
System.out.println("这是子类无参构造");
}
public Cat(String color) {
super();
this.color = color;
System.out.println("这是子类有参构造");
}
@Override
public void eat() {
// TODO Auto-generated method stub
super.eat();
System.out.println("这是子类复写的父类方法");
}
public void run() {
System.out.println("这是子类的普通方法");
}
}
测试类:1.创建子类实体
package com.blm.java;
public class Test {
public static void main(String[] args) {
new Cat();
}
}
result:
这是父类的静态代码块
这是子类静态代码块
这是父类的无参构造
这是子类无参构造
测试类:2.创建子类实体(带参)
package com.blm.java;
public class Test {
public static void main(String[] args) {
new Cat("hei");
}
}
result:
这是父类的静态代码块
这是子类静态代码块
这是父类的无参构造
这是子类有参构造
测试类:3.子类对象调用复写父类的方法
package com.blm.java;
public class Test {
public static void main(String[] args) {
new Cat().eat();
}
}
这是父类的静态代码块
这是子类静态代码块
这是父类的无参构造
这是子类无参构造
这是父类的普通方法
这是子类复写的父类方法
测试类:3.子类对象调用自己的方法
package com.blm.java;
public class Test {
public static void main(String[] args) {
new Cat().run();
}
}
result:
这是父类的静态代码块
这是子类静态代码块
这是父类的无参构造
这是子类无参构造
这是子类的普通方法