JVM——虚拟机类加载机制——字段解析

如果一个同名字段同时出现在C的接口和父类中,
或者同时出现在自己或父类的多个接口中出现,那么编译器将可能拒绝编译。
package jvm;
/** 
 * @author wyl
 * @time 2018年7月21日上午10:08:56
 */
public class Test1 {

	interface Interface0{
		int A=0;
	}
	
	interface Interface1 extends Interface0{
		int A=1;
	}
	
	interface interface2{
		int A=2;
	}
	
	static class  Parent implements interface2{
		public static int A=3;
	}
	
	static class Sub extends Parent implements interface2{
		public static int A=4;
		//如果注掉该句,会出现错误,The field Test1.Sub.A is ambiguous
		//如果一个同名字段同时出现在C的接口和父类中,
		//或者同时出现在自己或父类的多个接口中出现,那么编译器将可能拒绝编译。
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(Test1.Sub.A);
	}

}

猜你喜欢

转载自blog.csdn.net/u014067137/article/details/81141886