Collection接口---default方法和static方法
2020-08-16 21:03
429 查看
接口中有两个特殊的方法。default和static方法。
public interface CollectionInf { public abstract void test1(); public default void test2(){ System.out.println("CollectionInf_test2"); }; public static void test3(){ System.out.println("CollectionInf_static_test3"); } }
1、default方法
当一个接口添加新方法时,需要所有的实现类都重写新方法,影响到了已有的实现类,可能导致应用崩溃。default默认方法可以不强制重写,也不会影响到已有的实现类。
当一个实现类实现了多个接口,多个接口里都有相同的default默认方法时,实现类必须重写该默认方法,否则编译错误。
当一个实现类实现了一个接口,实现类没必要重写该默认方法,可以直接现有的接口中方法。
2、static方法
不需要实例化,直接使用,节省内存空间。
在Java中,如果父类中含有一个static静态方法,且在子类中也含有一个返回类型、方法名、参数列表均与之相同的静态方法,那么该子类实际上只是将父类中的该同名方法进行了隐藏,而非重写。换句话说,父类和子类中含有的其实是两个没有关系的方法,它们的行为也并不具有多态性。
相关文章推荐
- JDK 8 中Interface新增的default方法和static方法的区别和使用
- JAVA8接口中的default、static方法使用注意事项
- 详解Java8新特性之interface中的static方法和default方法
- JAVA8接口中的default、static方法使用注意事项
- JAVA8接口中的default、static方法使用注意事项
- Java8新特性(一)_interface中的static方法和default方法
- 为什么java接口中可以有default或者static修饰的方法?
- Java8接口中default、static方法使用注意事项
- 接口中的static方法前要加default吗?static方法可以由实现这个接口的类来实现吗?
- Java中Default关键字的两种使用方法,以及Java8新特性interface中的static方法和default方法
- 彦舜原创,CSDN首发:接口中,继承与实现的关系、能否创建成员属性/方法、default与static在接口中的运用、多态如何被用于接口等
- static和final(掺杂代码块和main()方法)
- C# 泛型 default()方法
- 详解Java基础篇--面向对象1(构造方法,static、this关键字)
- 使用React的static方法实现同构以及同构的常见问题
- C/C++ static使用方法注意
- Project has no default.properties file! Edit the project properties to set one.错误解决方法
- 如何在Python中使用static、class、abstract方法(权威指南)(转)
- Collection接口方法与使用(重写老师的课堂代码+个人见解)
- QT-E编译错误.obj/release-shared-emb-arm/qscriptcontext_p.o和sub-script-make_default-ordered解决方法