这是网友给的两个代码,如果您对类,接口还不甚明白建议看前面一篇文章;
本人先指出:书写Java时可以用extends,implements从interface 和class产生出新类;
问题: +++++++++++++++++++++++++++++++++++++++++++++
这里的ActionListener为指定父类;
class ActionListener1 implements ActionListener{} //创建一个继承类ActionListener的类ActionListener1
interface ActionListener1 extends ActionListener{} //创建一个来自类ActionListener的接口ActionListener1
如果我不创建实例,只想方法重载,是不是都可以用
++++++++++++++++++++++++++++++++++++++++++++++++
很明显按前面讲的extends,implements从interface 和class产生出新类,这两个办法都可以
但这样讲这篇文章实在是太简单了,虽然有时候,简单,不错
但在这里我看到另一个问题,就是这里的extends,implements
有何不同,
前面已经把interface 和class
给大家解释一番,接下来我们来搞定extends,implements,呵呵
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
extends,implements分析
一般说法是:类继承( extends
)/ 接口实现( implements)
一个类继承了上一个类 / 一个接口宽展了N个类的M个接口(类:大写字母;接口:小写字母)
class A implements B{} / interface a extends A ,B,C... implements b ,c ,d ....{}
但有个问题要指明:接口 a 将只能被宽展 不能继续 在 a下创建类,并且很明显要调用 a 中的方法,将会有一定的局限性,
因为他没有被实例化(有点像临时演员,演完这个节目之后,下个节目要找他来演就很难了),在JAVA中有个专业名词专门
形容他---“轻量级”组件。很明显,演戏(程序),导演(编程人员)不能什么角色都临时演员,因为要出续集;但有时很
需要,因为这样省钱(系统资源)、灵活。
所以,这些情况要看情况,这就是:好导演,花少钱,排好戏。
前面,我说了要对extend和implements来个解剖,好了现在问题初步弄清楚就是:重量级(class)和轻量级(interface)
问题。我们先讲到这里,我要了;下面给大家一个关于轻量级组件swing的说明,希望大家看看:
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/javax/swing/tree/class-use/DefaultMutableTreeNode.html
然后来个例子:
JAVA如何利用接口制造类似于C++的多继承
作者: daywolf 的 Blog 出处:http://www.csdn.net/
多继承其实是不好的东西,但是你有时候却要用到它,那怎么办呢?可以利用接口,下面是一个简单的例子。
interface CanFly
{
void fly();
}
interface CanSwim
{
void swim();
}
interface CanFight
{
void fight();
}
class ActionCharter
{
public void fight()
{
System.out.println("I can fight");
}
}
class Hero extends ActionCharter implements CanFly,CanSwim,CanFight
{
public void swim(){
System.out.println("I can swim");
}
public void fly(){
System.out.println("I can fly");
}
}
public class HelloWorld
{
public static void u(CanFly i){i.fly();}
public static void v(CanSwim i){i.swim();}
public static void w(CanFight i){i.fight();}
public static void x(ActionCharter i){i.fight();}
public static void main(String []args)
{
Hero hero = new Hero();
u(hero);
v(hero);
w(hero);
x(hero);
}
}
讲解一下,这个例子里面在Hero继承了一个类ActionCharter来实现接口CanFight的功能,另外两个接口用方法实现,而在运行的时候采用动态绑定,来进行多态的实现,这个例子很简单,但是用在实际上却很有用
地震让大伙知道:居安思危,才是生存之道。
posted on 2007-02-27 08:55
小寻 阅读(175)
评论(0) 编辑 收藏 所属分类:
j2se/j2ee/j2me