您的位置:首页 > 其它

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静态方法,且在子类中也含有一个返回类型、方法名、参数列表均与之相同的静态方法,那么该子类实际上只是将父类中的该同名方法进行了隐藏,而非重写。换句话说,父类和子类中含有的其实是两个没有关系的方法,它们的行为也并不具有多态性

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐