Java 接口简要介绍
在Java当中接口属于一种特殊的类,需要通过 interface关键字进行定义。在接口当中可以定义全局变量,抽象方法(必须是public),default方法以及使用static关键字进行定义的方法。
1.接口的定义:
在Java当中接口属于一种特殊的类,需要通过 interface关键字进行定义。在接口当中可以定义全局变量,抽象方法(必须是public),default方法以及使用static关键字进行定义的方法。
定义接口标准:
//由于类名称定义要求相同,为了区分接口,通常会在接口名称前当中加入字母I
interface IMessage{//定义接口
public static final String INFO = "www.yotube.com";//全局变量
public abstract String getInfo();//抽象方法
}
上述的程序利用了一个IMessage 的接口,由于接口当中存在抽象的方法,所以无法直接被实例化,使用接口类的一些原则:1、接口需要被子类直接实现,子类利用implements 关键字可以实现多个父类的接口。2,子类如果不是抽象类,那么必须要覆写接口中的全部的抽象的方法。3,接口对象可以利用子类对象的向上转型进行实例化。
对于extends implements关键字的使用的相关的顺序:先进行继承,之后再进行实现
class 子类 [extends 父类] [implements 接口1, 接口2, ·······] {}
接口的具体的使用:
interface IMessage{//定义接口
public static final String INFO = "www.yotube.com";//全局变量
public abstract String getInfo();//抽象方法
}
class Message implements IMessage{//实现接口
@override //重写
public String getInfo(){
return "I love coding!";//获取消息
}
}
public class JavaDemo{
public static void main(String args[]){
IMessage msg = new Message();//子类实例化父类
System.out.println(msg.getInfo); //调用方法
}
}
使用extends关键字继承多个父接口
interface IMessage{
public static final String INFO = "www.youtube.com";
public abstract String getInfo();
}
interface IChannel{
public boolean connect();
}
interface IService extends IMessage, Ichannel{
public String service();
}
class MessageService implenments IService{
@Override
public String getinfo(){
return IMessage.INFO();
}
@Override
public boolean connect(){
return true;
}
@Override
public String service(){
return "Youtube消息服务:www.youtube.com";
}
}
接口的作用:
实现方法名称的暴露和子类的隐藏。
接口定义的加强
接口当中,通过使用default关键字定义的普通的方法,这些定义的普通的方法可以直接被子类进行继承。
同样在接口当中也可以使用static关键字定义的方法,此方法可以直接利用接口名称调用
示例:
interface IMessage{ //定义接口
public String message(); //抽象方法获得信息
public default boolean connect(){ //公共方法被所有的子类进行继承
System.out.println("建立YouTube服务链接通道");
return true;
}
//用static关键字定义方法。可以通过接口的名称进行相应的调用。
public static IMessage getInstance(){
return new MessageImpt(); //获得子类的对象。
}
}
class MessageImpl implements IMessage(){//定义接口子类
public String message() //重写接口的抽象方法
{
return "www.youtube.com";
}
return "没有消息进行发送";
}
public class JavaDomo()
{
public static void main(){
IMessage msg = IMessage.getInstance();//实例化接口子类对象
Ssytem.out.println(msg.message()); //调用方法
}
}
以上的内容是我关于软件构造当中的接口类的简要的理解和阐述。如果有不足之处,希望个人能够帮我指正。