使用接口的时候,需要注意
/*
package Demo06;
/*
- 使用接口的时候,需要注意-
- 1.接口是没有静态代码块或者构造方法的
*2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口 - 格式-
- public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB{
- //覆盖重写所有抽象党方法
- }
- 3.如果实现的多个接口当中,存在重复的抽象方法,那么直需要覆盖重写一次即可
*4.如果实现类中将所有接口的有所方法都覆盖重写,那么这个实现类则成为了一个抽象类
*
-
5.如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的
-
进行覆盖重写
-
6.一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突
-
那么会优先用父类的方法,在Java当中,父类是优先于接口实现的
-
*/
public class demo01Interface {
public static void main(String[] args) {
Zi zi=new Zi();
zi.method();}
}
*/
/*
package Demo06;
public interface MyInterfaceA {
void methodA();
// 错误写法,接口不能有静态代码块
/*static{
}*/
//错误写法,接口不能有构造函数,因为有了够着函数,就可以new一个对象了,但是接口调用不是用过new调用
/* public MyInterface(){
}*/
public interface demo01Interface {
public abstract void methodA();
}
public abstract void methodAbs();
public default void methodDefault(){
System.out.println("默认方法AAA");
}
}
*/
/*
package Demo06;
public interface MyInterfaceB {
void methodB();
// 错误写法,接口不能有静态代码块
/*static{
}*/
//错误写法,接口不能有构造函数,因为有了够着函数,就可以new一个对象了,但是接口调用不是用过new调用
/* public MyInterface(){
}*/
public interface demo01Interface {
public abstract void methodB();
}
public abstract void methodAbs();
public default void methodDefault(){
System.out.println("默认方法BBB");
}
}
*/
/*
package Demo06;
public interface MyInterfaceFuZi {
public default void method(){
System.out.println(“接口的默认方法”);
}
}
*/
/*
package Demo06;
public class Fu {
public void method(){
System.out.println(“父类方法”);
}
}
*/
/*
package Demo06;
public abstract class MyInterfaceAbstract implements MyInterfaceA,MyInterfaceB {
@Override
public void methodA() {
}
@Override
public void methodDefault() {
}
@Override
public void methodB() {
}
}
*/
/*
package Demo06;
public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB{
public void methodA() {
System.out.println("覆盖重写A方法");
}
public void methodB() {
System.out.println("覆盖重写B方法");
}
@Override//如果实现的多个接口当中,存在重复的抽象方法,那么直需要覆盖重写一次即可
public void methodAbs() {
System.out.println("覆盖成写了AB重复的抽象方法");
}
@Override
public void methodDefault() {
System.out.println("对多个接口当中冲突的默认方法进行了覆盖重写");
}
}
*/
/*
package Demo06;
//一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突
// 那么会优先用父类的方法
//
public class Zi extends Fu implements MyInterfaceFuZi {
}
*/