关于接口与子父类的实现关系以及如何调用

关于接口与父类、子类的实现关系以及如何调用

public class HelpSomebody {
	public static void main(String[] args) {
		father Baba = new father();
		Baba.choose();

		me M = new me();
		M.choose();
		M.method1();
	}
}
//定义两个接口
interface A {
	public default void choose() {
		System.out.println("我救我妈!");
	}
}

interface B {
    //public 可以省略
	default void choose() {
		System.out.println("我救老婆!");
	}
}
//定义一个父类
class father implements A, B {	
	//必须重写
	@Override
	public void choose() {
		System.out.println("Baba要救我老婆!!");
	}

    //父类定义的方法
	public void method1() {
		A.super.choose();//记住这种写法 (这是如何调用接口的默认方法)
	}
}
//子类继承父类
class me extends father implements A, B {

	@Override
	public void choose() {
		super.choose();
		
     	// A.super.choose();
        // Illegal reference to super method choose() from type B, cannot bypass the
        // more specific override from type father
        // A.super点不出来东西、但是看教程可以点出来(关于子类调用接口的方法)
        // 视频里是A.super.choose();
	}
	@Override
	public void method1() {
		super.method1(); // 我救我妈
		System.out.println("*******");
		
		// 暂时留一个坑

		method1();
		// 这里不知道是为啥,我感觉是递归调用错误,比较明显
//		*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at ./open/src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 873
//		*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at ./open/src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 873
//		#
//		# A fatal error has been detected by the Java Runtime Environment:
//		#
//		#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff83ceff52e, pid=13248, tid=7444
//		#
//		# JRE version: Java(TM) SE Runtime Environment (14.0.2+12) (build 14.0.2+12-46)
//		# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.0.2+12-46, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
//		# Problematic frame:
//		# V  [jvm.dll+0x58f52e]
	}
​```
	/*
	 * 输出如下 上面的错误只出现了一次。 
	 * 已经确定是StackOver,递归调用问题!
	 * 
	 * Baba要救我老婆!! Baba要救我老婆!! 我救我妈!
	 *******
	 * 我救我妈!
	 *******
	 * 我救我妈!
	 *******
	 * 我救我妈!
	 *******
	 * 我救我妈! 。 。 。 。 。
	 * 
	 */
}
posted @ 2021-01-21 12:17  QU头  阅读(323)  评论(0编辑  收藏  举报