使用接口的时候,需要注意

使用接口的时候,需要注意

/*
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 {

}

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值