瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 关于Java接口的作用,不解【求助】
欧虫 - 2005-7-25 18:46:00
今天看到“继承与接口”这部分的内容,继承还好说,以前C++学过,对于接口读下来似是而非似懂非懂的,现在又重看了一遍,还是没什么效果,说一下理解吧:接口与抽象类优越的不就是一个子类中可以有多个接口吗?因为没有实践过,书上也没有举例,所以我理解得也不好,在想多个接口有什么用呢?基于其可以定义常量,那我就认为其意义之一在于可以把多个接口定义的常量放到一个子类中,而继承不行。
有一句话“接口是超类和它的子类之间的约定,并且是实施标准的一种方式。”呵呵,不大明白!怎么觉得接口就是一种大纲或是提示似的,告诉程序员要怎么做之类的。可是如果真是这样子的话,应该还有其它方式的。
如这个
interface Security{
String programmerName=”John Smiley”;
Void determineUserID();
Void obtainPassword();
Void writeAuditRecord();
}
这里定义了一个包括一个常量三个方法的接口。
而下面一个类中涉及到接口的部分是
import javax.swing.JoptionPane;
class HourlyEmployee extends EmployeeBase implements Security{
protected double hourlyRate;
protected int hoursWorked;
……
public void determineUserID()//Security Interface methods
{
System.out.println
(“Security Interface determineUserID method”);

}

public void obtainPassword()//Security Interface methods
{
System.out.println
(“Security Interface obtainPassword method”);

}

public void writeAuditRecord()//Security Interface methods
{
System.out.println
(“Security Interface writeAuditRecord method”);

}
}
就这个类就把我搞糊涂了,这样看来,这个接口起了什么做用呢,不就是输出了三句话吗?
not - 2005-7-25 19:15:00
这个东西当时老师讲的时候说,使用接口可以有助于程序的编写还有什么来~~我记不清了,就是举个例子有个animal接口,里面定义了几个函数,功能分别是类型、叫声、走路方法……
那么从它派生出来的类就都属于动物类的,鸟类的就是鸟类,哺乳类就是哺乳类,各个类里面有同样的函数(但函数体不一样),这样就规范了,你想要鸟叫就调用叫声的函数,他就发出鸟叫的声音来,想狗叫就是狗叫得声音。
小弟不才就知道这些了,还有其他的请别人补充上来吧。
海蓝云天 - 2005-7-26 8:52:00
由于JAVA只可以单继承
而C++可以实现多继承
JAVA用接口实现多继承
欧虫 - 2005-7-26 12:42:00
谢谢二位了!
虽然还不是很懂,不过总有一天用得到时一定能明白的
数码出版 - 2005-7-26 15:45:00
引用:
【海蓝云天的贴子】由于JAVA只可以单继承
而C++可以实现多继承
JAVA用接口实现多继承
...........................

对!你比较懂Java呀。

回楼主问:
你把接口理解成“型”,在接口上规定你的“型”有某些公开的方法。
接口会强制子类实装那些规定过的方法。
因此,你在任何地方都可以把这个接口的子类的实体Cast成这个接口的“型”来使用。
凡是这个接口的子类一定符合这个接口的规定,从而实现分散实装。接口就是这个作用。
它不象C++那样通过多重继承获得多个父类上实装的方法,而必须在子类上实装。
接口就是接口,说“徒有虚名”也是可以的。
欧虫 - 2005-7-27 16:07:00
【回复“数码出版”的帖子】
谢谢你哦
今天看到一些相关的
理解起来好多了
1
查看完整版本: 关于Java接口的作用,不解【求助】