Java 8 中接口的新特性

Java 8 中接口的新特性,第1张

Java 8 中接口的新特性
package Com.bigDataWork_exer04;

public interface ComparA {
	//静态方法
	public static void method() {
		System.out.println("compar: 北京");

	}
	// 默认方法
	public default void method2() {
		System.out.println("compar :上海--");
	}
	// 默认方法
	default void method3() {
		System.out.println("compar :上海-魔都");
	}
}

package Com.bigDataWork_exer04;


public class SubclassTest {
	public static void main(String[] args) {
		Subclass subclass = new Subclass();

		// 知识点1 :接口中定义的静态方法,只能通过接口来调
		ComparA.method();
		
		subclass.method2();
		subclass.method3();
		subclass.method2();
	}
}

class Subclass   implements ComparA {
	// 重写默认方法
	public void method3() {
		System.out.println("compar :上海-杭州");
	}

	// 默认方法
	public  void method2() {
		System.out.println("compar :江苏");
	}
	public  void  Mymethod(){
		//调用父类中的声明的方法
		ComparA.super.method2();
		ComparA.super.method3();
	}
}

package Com.bigDataWork_exer04;

public class ComparB implements ComparA {
	//静态方法
	public static void method() {
		System.out.println("compar: 北京");

	}
	// 默认方法
	public  void method2() {
		System.out.println("compar :上海");
	}
	// 默认方法
	public  void method3() {
		System.out.println("compar :上海-魔都");
	}
}
  • 知识点1 :
    接口中定义的静态方法,只能通过接口来调
  • 知识点2: 通过接口实现类的对象,可以调用接口中的默认方法;
    如果实现类中重写了默认方法.调用时仍然调用的是重写以后的方法
  • 知识点3: 如何调用父类中声明的方法。
    可以通过接口名.super.方法名.进行调用。
  • 知识点4:如果子类或者实现类继承的父类和实现的接口中声明了同名同参数的默认方法
    那么子类在没有重写此方法的情况下,默认调用的是父类中的同名同参数的方法 —>类优先原则

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5137895.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存