您的位置:首页 > 编程语言 > Java开发

关于java接口的一些重要的点

2015-10-30 10:36 435 查看
一.接口是java中一个很重要的元素,他的好出很多

首先,接口是作为一个标准,让实现接口的类实现具体的功能

其次,java 8 中的接口不再是一个没有任何实现具体功能方法的特殊类了,java 8 允许接口里有默认的方法

就是用default修饰的方法,这种方法是能被实现接口的类所继承的,另外java 8 还增加了static修饰 的方法

无需解释,static修饰的东西,可以用类名或接口名直接调用,他属于类和接口本身。

二.说了这么多,接口到底有什么用呢

是的,我刚开始认为接口没有什么用,但是我现在体会到接口的妙用了,很多对java不熟悉的程序员认为接口根本用处不大

但是,接口的方便在于,他可以利用多态性(父类引用指向子类实例化对象)作为方法的形式参数来接收它实现类。而然,这又有什么用呢。

它的用处在于:1.他定义了一个标准,拿一个例子来说,一台电脑需要插一个内存条,内存条要满足可读可写等功能,如果不用接口电脑使用一种型号的内存条

那么用户会怎么想,为了换,就只能换一种型号的。要是那种型号的过时不生产了,市场上只能买更先进的内存条呢。

如果使用了接口,每一种型号的内存都要实现接口的标准,要可读可写,无论是产品更新还是换代,都能有标准规定的功能,电脑是不是就能适应各种的内存条,从而接纳范围广了呢。

java中的接口也是一个样,他的接纳要广,他能接纳任何实现它的了类,所以只要实现了接口,就累做为方法的实际参数传入。这也实现了程序的优化,如果要改动程序,你只要改动实现接口的类就好了,并不要改动整个程序,和各种参数。

三.编程时也要注意

如果很多类的功能几乎一样,那么要以对象作为参数时,最好把所有实现相同功能的类定义一个接口,用接口来接纳参数。

下面简单的示范了接口的用途

首先定义了一个接口

public interface Command//定义了一个接口,接口里有一个要实现的方法
{
void process(int [] target);
}
上面的定义了一个对数组的process处理方法,具体要怎么处理,就是下面实现接口的两个类的事了

public class AddCommand implements Command
{

@Override
public void process(int[] target)
{
int sum=0;
for(int i=0;i<target.length;i++)
{
sum=sum+target[i];
}
System.out.println(sum);
}

}

public class PrintCommand implements Command
{

@Override
public void process(int[] target)
{
for(int i=0;i<target.length;i++)
{
System.out.print(target[i]+"  ");
}
}

}
这两个类都实现了处理方法,一个打印,一个输出。

接下来,我们就要使用接口了

public class ProcessArray
{
public void Process(int [] target,Command cmd)
{
cmd.process(target);//根据传入的具体的对象,他们会做出不同的动作
}
}
上面是一个处理类,他的一个方法的形参用接口作为接纳实现对象参数

public class CommandText
{

public static void main(String[] args)
{
ProcessArray p=new ProcessArray();
int [] a={4,-1,7,9};
//使用接口作为方法的参数,可以传入实现接口的对象
p.Process(a, new PrintCommand());
System.out.println();
//无论那个类实现了接口,我们都可以用接口作为方法的形参来传入参数,这样我们就不用关心实现类里的具体实现方法了
p.Process(a, new AddCommand());
}

}
输出的结果就省略了,上面就展示了接口的重大作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: