java 使用interface接口时要注意几点

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

  • 1.接口是没有静态代码或者构造方法的
    public interface MyInterface { //这是错误写吧!接口不能有静态代码块 //static {} // MyInterface inter=new MyInterface();//也是错误的 }
    2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。
  • 格式:
  • public class MyInterfaceImpl implement MyInterfaceA,MyInterfaceB{
  • 覆盖重写所有抽象方法
  • }
public class text01Interface {
public static void main(String[] args) {
	MyInterfaceImpl impl=new MyInterfaceImpl();
		impl.methodA();
        impl.method();}}
        
public interface MyInterface {
   	public abstract void method();
		 }
		 public interface MyInterfaceA {
	public abstract void methodA();
}

public class MyInterfaceImpl implements MyInterface,MyInterfaceA{
@Override
	public void method() {
 		System.out.println("覆盖重写了 方法");

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

	

}

3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写
我在俩在接口中同样放着 public abstract void methodAbs();
在实现类中重写的还是 @Override
public void methodAbs() {
System.out.println(“覆盖重写了俩个接口都有的抽象方法”); }

	@Override
	public void methodAbs() {
 System.out.println("覆盖重写了俩个接口都有的抽象方法");		
	}

4.如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类
只要把格式改为public class MyInterfaceImpl implements MyInterface,MyInterfaceA{}
**–>**public abstract class MyInterfaceImpl implements MyInterface,MyInterfaceA{}
5.如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖

public interface MyInterface {
public default void methodDefault() {
		System.out.println("默认方法");
	}
	
 }

public interface MyInterfaceA {
	public default void methodDefault() {
		System.out.println("默认方法A");
	}
}

下面这是实现类:俩个接口多重复了默认类  那么实现类就覆盖重写它不然会报错
public class MyInterfaceImpl implements MyInterface,MyInterfaceA{
 @Override
	public void methodDefault() {
 	}
}


6.一个类如果直接父类当中的方法,和接口当中的默认方法场所了冲突,优先用父类的方法
这里创建一个父类和子类以及一个接口 :最后优先打印父类的mothod

public class Father {
public  void method() {
	System.out.println("这是父类的方法");
}
}
 public  class Son extends Father implements MyInterfaceB{ 	
}
 
public interface MyInterfaceB {
public default void method() {
	System.out.println("这是接口的默认方法");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值