接口的注意事项

接口的注意事项:

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

  • 接口是没有静态代码块的statci{},也没有构造方法,一个类的父类只能有一个,但是一个类可以同时实现多个接口
  • 格式:public class Myinterfaceimpl implements MyinterfaceA,MyInterfaceB{覆盖重写所有的抽象方法}
  • 如果多个接口含有相同的抽象方法,则直接重写一回即可
  • 如果没有覆盖重写全部的,必须是抽象类
  • 接口中有相同的默认方法必须要重写,抽象类中也要重写
  • 一个类如果直接父类的方法与接口的默认方法冲突,优先使用父类的方法*/

接口A

代码:

	public interface MyInterfaceA {
 /* static {

}错误写法,不能写静态代码块*/
  /*abstract MyInterfaceA(){}不能写构造方法;*/
 public abstract void methodA();//抽象方法不要(不能)写方法	体;
  void method();
   public static void method3()
{
   System.out.println("wpos");
   }
public default void methoddefault(){
  System.out.println("AAA");
  }
}

接口B

代码:

public interface MyInterfaceB {
/* static {

}错误写法,不能写静态代码块*/
/	*abstract MyInterfaceA(){}不能写构造方法;*/
 public abstract void methodB();//抽象方法不要(不能)写方法体;
   void method();
public default void methoddefault(){
  System.out.println("BBB");
}	
}

抽象类继承

代码:

public abstract class MyInterfaceabstract implements MyInterfaceA,MyInterfaceB {
@Override
public void methodA() {
System.out.println("覆盖重写了A方法");
}
//@Override
  // public void methodB() {
   // System.out.println("覆盖重写了B方法");
//}//抽象类中无需全部继承抽象方法,但是默认方法必须继承。
//默认方法必须要重写,在abstract类中也是
@Override
public void methoddefault() {
   }
}

类直接继承:

代码:

package cn.itcast.day19.demo02;

public class MyInterfaaceimpl implements MyInterfaceA,MyInterfaceB {
@Override
public void methodA() {
System.out.println("覆盖重写了A方法");
}

@Override
public void method() {
    System.out.println("覆盖重写了AB方法");
}

@Override
public void methoddefault() {

}

@Override
public void methodB() {
System.out.println("覆盖重写了B默认方法");
}
}

类直接继承与抽象类继承的区别:

直接继承要实现A,B中所有的方法的重写。否则就是抽象类。
静态方法不用重写也不能重写。)

主类:

代码:

public class Demo01Interface {
public static void main(String[] args) {
  Zi zi=new Zi ();
  zi.method();
    MyInterfaaceimpl tt=new MyInterfaaceimpl();
    tt.method();
    MyInterfaceA.method3();//调用静态方法直接使用接口.方法名称就可以了。
}

实现效果

在这里插入图片描述}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值