Java中的接口怎么实现?

Java中的接口怎么实现?,第1张

举个面积的例子:在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,再用一个类去实现这个接口,再编写一个测试类去使用这个接口。首先,接口必须单独存放,如果我们用eclipse编程的话,它们提示:The public type **** must be defined in its own file,意思是必须要定义在其自己的文件中,所以要为接口文件单独存放起来,举例,我们的接口滑扰要实现获到矩形的长,宽,面积,周长,所以定义以下的接口。public interface calrect {\x0d\x0apublic abstract int calarea()\x0d\x0apublic abstract int calgirth()\x0d\x0apublic abstract int getx()\x0d\x0apublic abstract int gety()\x0d\x0a}注意,定义接口就像定义类一样,接口的访问控制符只能用public,用public定义的接口可以被所有的类和包引用,而缺省的则只能罩纳被同一个包中的其他类和接口引用,这符合JAVA中访问控制符的一般要求,关于接口再引用其他接口则是后话。以上接口文件名为calrect.java.另外需要指出的是接口中不能给方法给出方法体。接下来,需要定义一个类来实现接口,因为不知道JAVA的内置矩形类是什么名,所以为了安全,将该类定义为RRect,这可以认为是一物让没种安全策略。关于implements,可以参考其他资料。该类引用了接口calrect,所以必须对calrect中的方法一一实现。//定义矩形类 应用接口class RRect implements calrect{private int x\x0d\x0aprivate int ypublic RRect (){\x0d\x0a x=3y=4\x0d\x0a}\x0d\x0apublic int calarea(){\x0d\x0a return x*y\x0d\x0a}\x0d\x0apublic int calgirth(){\x0d\x0a return x*2+y*2\x0d\x0a}\x0d\x0apublic int getx(){\x0d\x0a return x\x0d\x0a}\x0d\x0apublic int gety(){\x0d\x0a return y\x0d\x0a}\x0d\x0a}//接下来,定义一个测试类,所谓测试类,我理解为定义一个类,在其定义类RRect的对象,并验证其中的方法,看看是不是可以正常使用//定义Class1类\x0d\x0apublic class Class1{\x0d\x0aRRect rect\x0d\x0apublic static void main(String []args){\x0d\x0a RRect rect=new RRect()\x0d\x0a System.out.println("矩阵的长"+ rect.getx())\x0d\x0a System.out.println("矩阵的宽"+ rect.calarea())\x0d\x0a System.out.println("矩阵的面积"+ rect.calarea())\x0d\x0a System.out.println("矩形的周长 "+rect.calgirth())\x0d\x0a}\x0d\x0a\x0d\x0a}运行结果:矩阵的长3\x0d\x0a矩阵的宽12\x0d\x0a矩阵的面积12\x0d\x0a矩形的周长 14注:接口单存放,接口实现类和测试类可以存放在一个文件中

abstract class Animal {

    private double weight

    abstract void say()

    abstract void eat()

    public Animal() {

        this.weight = 0

    }

    public Animal(double weight) {

        this.weight = weight

    }

    public double getWeight() {

        return weight

    }

    public void setWeight(double weight) {

        this.weight = weight

    }

}

interface Flyable {

    void flySpeed()

}

class Glede extends Animal implements Flyable {

    public void flySpeed() {

   睁岁     System.out.println("10m/s")

    }

    @Override

    void say() {

    闭逗    System.out.println("啊啊啊啊")

    }

    @Override

    void eat() {

      轿早卖  System.out.println("老鼠")

    }

}

class Pigeon extends Animal implements Flyable {

    public void flySpeed() {

        System.out.println("5m/s")

    }

    @Override

    void say() {

        System.out.println("咕咕咕咕")

    }

    @Override

    void eat() {

        System.out.println("虫子")

    }

}

public class Test {

    public static void main(String[] args) {

        Glede glede = new Glede()

        glede.flySpeed()

        glede.say()

        glede.eat()

        Pigeon pigeon = new Pigeon()

        pigeon.flySpeed()

        pigeon.say()

        pigeon.eat()

    }

}

Display.java   接口中祥代码如下:

public interface Display {

public void dis()

}

接口的实现类DisplayImpl.java    代码如下:

public class DisplayImpl implements Display {

@Override

public void dis() {

// TODO Auto-generated method stub

System.out.println("输卖陵搏出方法")

}

public 汪数static void main(String[] args) {

new DisplayImpl().dis()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12394544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存