当前位置: 技术问答>java相关
java没有多继承,用接口来实现多继承的功能,但哪里体现了多继承啊?我对接口的概念一直弄不清楚,请大家帮忙!
来源: 互联网 发布时间:2015-02-04
本文导语: | 接我的上贴: 举个例子,附: //Home.java import java.util.* interface(关键字) Home { int pzz = 4; void desk(); String chair(); } class Zhang implements Home { //实现接口后,...
|
接我的上贴:
举个例子,附:
//Home.java
import java.util.*
interface(关键字) Home {
int pzz = 4;
void desk();
String chair();
}
class Zhang implements Home { //实现接口后,此时我们获得了一个
public void desk() { //普通类"Zhang",以后如果继承此
System.out.println("Zhang.desk()"); //类,我们可对它进行扩展.
} //implements是一个关键字
public Sring chair() {
return "Zhang";
}
}
class Li implements Home {
public void desk() {
Systiem.out.println("Li.desk()");
}
public String chair() {
return "Li";
}
}
可以将接口想像为"纯"抽象类,可以定义方法名,自变量列表,返回类型,但不规定方法的主体.接口中的基本数据类型(就是系统定义的标识符,如:int,boolen)都默认为static 和 final,方法默认为public,即使不加public关键字.
关于多重继承,java规定:如果确实想从一个非接口继承,那么只能从一个继承.如:
//Deer.java
import java.util.*
interface SporttedDeer {
void antler();
}
interface RedDeer {
void deerskin();
}
class Giraffe {
void anler() {
System.out.println("Giraffe.anler");
}
}
class Deer extends Giraffe implements
SporttedDeer, RedDeer {
void deerskin() {
System.out.println("Deer.deerskin");
}
}
使用接口能上塑造形至多个基础类.
不知我举的几个简单的例子你理解了没有?你可以上机调试一下.
举个例子,附:
//Home.java
import java.util.*
interface(关键字) Home {
int pzz = 4;
void desk();
String chair();
}
class Zhang implements Home { //实现接口后,此时我们获得了一个
public void desk() { //普通类"Zhang",以后如果继承此
System.out.println("Zhang.desk()"); //类,我们可对它进行扩展.
} //implements是一个关键字
public Sring chair() {
return "Zhang";
}
}
class Li implements Home {
public void desk() {
Systiem.out.println("Li.desk()");
}
public String chair() {
return "Li";
}
}
可以将接口想像为"纯"抽象类,可以定义方法名,自变量列表,返回类型,但不规定方法的主体.接口中的基本数据类型(就是系统定义的标识符,如:int,boolen)都默认为static 和 final,方法默认为public,即使不加public关键字.
关于多重继承,java规定:如果确实想从一个非接口继承,那么只能从一个继承.如:
//Deer.java
import java.util.*
interface SporttedDeer {
void antler();
}
interface RedDeer {
void deerskin();
}
class Giraffe {
void anler() {
System.out.println("Giraffe.anler");
}
}
class Deer extends Giraffe implements
SporttedDeer, RedDeer {
void deerskin() {
System.out.println("Deer.deerskin");
}
}
使用接口能上塑造形至多个基础类.
不知我举的几个简单的例子你理解了没有?你可以上机调试一下.
|
所谓的接口,实际上也是一个类,只是在接口中声明了一组常量和方法,但事实上没有实现任何方法。这有点类似抽象类,接口需要其他类来提供实现自己所定义方法的过程,而不是自己提供。
这里的用接口实现多继承实际上就是可以用类来实现多个接口中的方法。如下:
class Triangle implements Brushes,Paints,Surface {
……
/*every method in Brushes、Paints and Surface must be implemented in Triangle */
……
}
另外,如果需要extends从句,则implements从句应放在extends从句的后面。比如:
class Triangle extends MyGraphics implements Brushes{
……
/* every method in Brushes must be implemented here */
……
}
就这样,不知对你有没有帮助,其实我也不是很懂,有机会我们再一同探讨,OK?
这里的用接口实现多继承实际上就是可以用类来实现多个接口中的方法。如下:
class Triangle implements Brushes,Paints,Surface {
……
/*every method in Brushes、Paints and Surface must be implemented in Triangle */
……
}
另外,如果需要extends从句,则implements从句应放在extends从句的后面。比如:
class Triangle extends MyGraphics implements Brushes{
……
/* every method in Brushes must be implemented here */
……
}
就这样,不知对你有没有帮助,其实我也不是很懂,有机会我们再一同探讨,OK?