Java学习-接口

  • 概念
    接口interface:接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合

  • 格式
    使用interface来进行声明,使用implements来实现接口

//接口模板
public interface InterfaceName{
public abstract void Act();
}

//一个类实现接口模板,多个接口使用逗号隔开
public class ClassName implements Interface01,Interface02,[...] {
...
}

//一种常用模式模板
public class ZiLei extends ChouXiangLei implements InterfaceXX,InterfaceXXX{
...
}
  • 特点
    1.成员变量:只能是public static final修饰,public static final [数据类型] [变量] = 值;
    2.成员方法:只能是public abstract修饰,并且接口中所有的方法不能有具体的实现;
    3.接口不可以创建对象,必须要实现类进行重写其抽象方法;

  • 类和接口的简单区别
    1.类和类:相互之间只支持 单继承,一个子类只能继承一个父类;
    2.接口和接口:相互之间可支持 多"实现(继承)",一个子接口可以实现多个父接口;(区别多层继承和多继承)
    3.类和接口:类 实现(implements)接口

  • 抽象类和接口的语法区别
    1.抽象类可以提供成员方法实现细节,接口只能包含public abstract的抽象方法;
    2.抽象类可以包含各种成员变量,接口只能是默认隐藏的public static final修饰的成员变量;
    3.抽象类可以包含静态代码块和静态方法,而接口中不能含有静态代码块以及静态方法;
    4.一个类只能继承一个抽象类,而一个类却可以实现多个接口(接口弥补了java的单继承);

  • 抽象类和接口的设计思想区别

1.抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
2.抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范,它是一种辐射式设计。也就是说对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,子类可以不进行变更;而对于接口则不行,如果接口进行了变更,则所有实现这个接口的类都必须进行相应的改动。

  • 应用
package com.jagger.InterfaceTry;

public class Show {

	public static void main(String[] args) {
		AirPlane F22 = new AirPlane();
		F22.Fight();
	}
}

public abstract class Flyer {
	public abstract void fly();
}

public interface InterFight {
	public abstract void Fight();
}

public class AirPlane extends Flyer implements InterFight {
	public void fly() {
		System.out.println("飞机喷气发动机飞行");
	}
	public void Fight() {
		System.out.println("飞机进行战斗");
	}
}

注意事项
对于接口,里面的组成只有抽象方法和全局常量,所以很多时候为了书写简单,可以不用写public abstract 或者public static final。并且,接口中的访问权限只有一种:public,即:定义接口方法和全局常量的时候就算没有写上public,那么最终的访问权限也是public,注意不是default。

猜你喜欢

转载自blog.csdn.net/Jagger_Lin/article/details/82986363