【校招VIP】java中的default关键字详解

08月04日 收藏 0 评论 0 java开发

【校招VIP】java中的default关键字详解

转载声明:文章来源https://blog.csdn.net/qq_33521184/article/details/125700363
1 简介
default关键字和Java中的public、private等关键字一样,都属于修饰符关键字,可以用来修饰属性、方法以及类,但是default一般用来修饰接口中的方法。

2 原因
出现该关键字的原因是,由于接口在Java中定义之初,有一个缺点,那就是,如果定义了一个接口,接口中又定义了N个方法,那么某个具体的类在实现该接口时,需要实现接口中的所有方法,不管是否需要用到接口中的方法。如果接口中的某个方法被default关键字修饰了,那么具体的实现类中可以不用实现方法。

3 举例说明

interface Person {
default void show() {
System.out.println("this is show");
}
}

Student类可以不用实现Person接口中的show()方法。

class Student implements Person {
//可以不用实现show()方法
}

3.1 解决冲突
如果实现类实现了个多个接口,假如不同的接口中有同名的被default修饰的方法,那么此时,实现类就必须重写这个方法,否则会编译出错。

public interface Person1 {
default void prinN(){
System.out.println(Person1.class.getName());
}
}
public interface Person2 {
default void prinN(){
System.out.println(Person2.class.getName());
}
}
class Student implements Person1, Person2 {
@Override
public void prinN(){
System.out.println(Student.class.getName());
}
}


C 0条回复 评论

帖子还没人回复快来抢沙发