jdk1.8新特性-接口
接口可以有静态方法,默认方法,也就是说接口中有了实现的方法。
public interface speak {
//默认方法
default void dog_speak(){
System.out.println("小狗叫");
}
//静态方法
static void cat_speak(){
System.out.println("小猫叫");
}
void animal_speak();
}
在1.8中,接口中,有了静态方法和默认方法,实现接口speak的类,
可以重写默认方法,也可以不重写。
情况1:不重写接口中的默认方法。
public class dog implements speak{
@Override
public void animal_speak() {
// TODO Auto-generated method stub
System.out.println("这时是小狗");
}
}
测试类
public class test {
public static void main(String[] args) {
dog d= new dog();
d.dog_speak();
}
}
输出结果为:
小狗叫。
情况2:重写接口中的默认方法
public class dog implements speak{
@Override
public void animal_speak() {
// TODO Auto-generated method stub
System.out.println("这时是小狗");
}
@Override
public void dog_speak() {
// TODO Auto-generated method stub
System.out.println("名叫裤衩的小狗在叫");
}
}
测试类:
public class test {
public static void main(String[] args) {
dog d= new dog();
d.dog_speak();
}
}
输出:
名叫裤衩的小狗在叫