java interface学习

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为,java中类没有多继承,但接口可以有多继承,下面介绍下接口工厂类的简单运用:

1、接口Cycle

interface Cycle
{
    void ride();
}

2、接口工厂类CycleFactory

interface CycleFactory
{
    Cycle getCycle();
}

3、接口Cycle和CycleFactory的实现类

class Unicycle implements Cycle
{

    @Override
    public void ride() {
        System.out.println("Ride Unicycle");
    }
    
}
class UnicycleFactory implements CycleFactory
{

    @Override
    public Cycle getCycle() {
        return new Unicycle();
    }
    
}
class Bicycle implements Cycle
{

    @Override
    public void ride() {
        System.out.println("Ride Bicycle");
    }
    
}
class BicycleFactory implements CycleFactory
{

    @Override
    public Cycle getCycle() {
        return new Bicycle();
    }
    
}
class Tricycle implements Cycle
{
    
    public Tricycle() {
        System.out.println("Tricycle");
    }

    @Override
    public void ride() {
        System.out.println("Ride Tricycle");
    }
    
}
class TricycleFactory implements CycleFactory
{

    @Override
    public Cycle getCycle() {
        return new Tricycle();
    }
    
}

4、测试类Cycles

public class Cycles {

    /**
     *  Function:
     * 
     *  @author jon  DateTime 2016-4-19 下午3:31:51
     *  @param args
     */
    public static void main(String[] args) {
        
        rideCycle(new UnicycleFactory());
        rideCycle(new BicycleFactory());
        rideCycle(new TricycleFactory());

    }
    
    public static void rideCycle(CycleFactory factory)
    {
        Cycle c=factory.getCycle();
        c.ride();
    }

}

5、测试类输出结果:

Ride Unicycle
Ride Bicycle
Tricycle
Ride Tricycle

附注:接口多继承demo可以如下

interface History {
    void u();
    void v();
}

interface Exam {
    void w();
    void x();
}

interface Labs {
    void y();
    void z();
}

interface Workup extends History, Exam, Labs {
    void zz();
}

 

posted @ 2016-04-19 16:20  伟雪无痕  阅读(109)  评论(0)    收藏  举报