父类:
- 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() {
-
- 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:
这是父类的静态代码块
这是子类静态代码块
这是父类的无参构造
这是子类无参构造
这是子类的普通方法