闲谈Java程序筹划中的接口操纵[Java编程]
本文“闲谈Java程序筹划中的接口操纵[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java语言供应了一种接口(interface)机制.这种接口机制使Java的面向对象编程变得越发机动.我们可以用接口来定义一个类的表现情势,但接口不能包含任何实现.在《Thinking in Java》一书中,作者对接口有这样的描写:“接口(interface)比抽象(abstract)的概念更进了一步.你可以把一个接口当作是一个纯的抽象类.”我认为作者对接口的这一注释再精确不过了.
理解并用好接口机制将帮忙我们更好的掌握Java这种面向对象的编程语言.下面我们来谈论一下接口的利用法则以及相关的利用.
1、接口的定义及实现
定义接口和定义类类似,只是要把 class关键字换为 interface.定义办法时只需求办法名,返回范例和参数列表,不能有办法体.接口中可以定义字段,这些字段都被暗指为 static 和 final,因此应当按照需求先定好这些字段的值.比方:
public interface Flyable {
void fly();
}
public interface Talkable {
void talk();
}
public interface Message {
int MAX_SIZE = 4096;
String getMessage();
}
上面定义的几个接口中,Flyable 和 Talkable 只定义了一个办法,而 Message 里除了办法外还有一个字段 MAX_SIZE.可以看出这些接口只定义了类的表现情势,而不包含任何实现,所以不能直接利用.要利用这些接口就需求有呼应的类去实现它们.实现接口时应当先在类名后用 implements 关键字申明将要实现的接口,假如要实现多个接口,应当用逗号将它们离隔,然后一一实现这些接口中定义的办法.以下面的例子:
public class Parrot implements Flyable, Talkable {
public void fly() {
System.out.println("Flying like a parrot…");
}
public void talk() {
System.out.println("Hello! I am a parrot!");
}
}
public class TextMessage implements Message {
String message;
public void setMessage(String msg) {
message = msg;
if (message.length() > MAX_SIZE)
message = message.substring(0, MAX_SIZE);
}
public String getMessage() {
return message;
}
}
在 Parrot(鹦鹉)例子中,我们用接口 Flyable 来表示飞翔本领,Talkable 表示说话本领,但它们并不包含具体实现.而 Parrot 同时具有这两种本领,所以我们为 Parrot 类同时实现了 Flyable 和 Talkable 这两个接口.一样我们还可以定义一个Swallow(燕子)类,但燕子只有飞翔本领,所以我们只需求为 Swallow 实现 Flyable 就行了.因为它们各自的的飞翔办法有所差别,所以它们有各自关于飞翔的具体实现.
别的,正因为一个类可以同时实现多个接口,使得Java的面向对象特点变得非常机动.应用这种特点,我们可以实现近似C++语言中多担当那样的特点,乃至更机动的一些特点.下面我们来谈论一下接口在实际中的利用.
2、用接口来定义一些全局变量
因为接口内的字段都是static和final的,所以我们可以很便利的操纵这一点来成立一些常量.比方:
public interface Constants {
String ROOT = "/root";
int MAX_COUNT = 200;
int MIN_COUNT = 100;
}
在利用时可以直接用Constants.ROOT这样的情势来引用此中的常量.我们还可以用下面这种办法来成立初始值不肯定的常量.
public interface RandomColor {
int red = Math.random() * 255;
int green = Math.random() * 255;
int blue = Math.random() * 255;
}
此中red、green和blue的值会在第一次被拜候时成立,然后保持不变.
以上是“闲谈Java程序筹划中的接口操纵[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |