11.14 (A、B类继承)第11次作业

package cn.wzx.www;

public class A {
    private B b = null;
    public void fun(){
        this.b=new B(this);
        this.b.fun();
    }
    public void print(){
        System.out.println("Hellow World!");
    }

}
package cn.wzx.www;

public class B {
    private A a = null;
    public B(A a){
        this.a=a;
        }
    public void fun(){
        this.a.print();
    }
    

}
package cn.wzx.www;

public class DemoThis {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        new A().fun();

    }

}

package cn.wzx.www;

public abstract class A1 {
    public abstract void fun();

}
package cn.wzx.www;

public class B1 extends A1 {

    @Override
    public void fun() {
        // TODO 自动生成的方法存根
        System.out.println("Hellow Word!");
        
    }

}
package cn.wzx.www;

public class DemoAB {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        B1 b=new B1();
        b.fun();

    }

}

package cn.wzx.www;
//抽象类不能实例化对象,但可以有构造函数
public abstract class A2 {
    private String name;
    public A2(String name) {
        // TODO 自动生成的构造函数存根
        this.name=name;
    }
    
    public String getName() {
        return name;
    }


    public abstract void fun();

}
package cn.wzx.www;

public class B2 extends A2 {

    public B2(String name) {
        // TODO 自动生成的构造函数存根
        super(name);
    }

    @Override
    public void fun() {
        // TODO 自动生成的方法存根
        System.out.println(super.getName());
        
    }

}
package cn.wzx.www;

public class DemoA2B2 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        B2 b=new B2("悟空");
        b.fun();
        }

}

 

原文地址:https://www.cnblogs.com/jasonzj/p/7828437.html