Java中类实现接口

Java中类实现接口实例:
(方便查看)

设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,为了便于扩展采用面向接口的编程思想来实现,编写想应的类以及主类,并且能够调用模拟器发出两种不同动物的叫声

animals.java


public interface animals {                                          //创建animals接口
    void cry();                                                     //本来是public abstract抽象类但是可以省略
    String getAnimalName();                                         //同上,                       
}                                       
//接口体中包含常量的声明和抽象方法两部分,接口体只有抽象方法,没有普通的方法
//而且接口体中的所有常量 的访问权限一定是public,而且是static常量 ,可以省略publicfinalstatic修饰符
//所有的抽象方法的访问权限都是public,
//!!!!!!!!!!!!!!!!
//所有的抽象方法的访问权限都一定是public,而且允许省略public static修饰符

Simulator.java


public class Simulator {                                                        //模拟器类
    public void playSound(animals animals)                              //playsound函数中前一个animals是类,后一个animals是参数,依靠它来传递animal接口的方法  
    {

        System.out.println("now we will play "+animals.getAnimalName()+" class's name");        //调用animal接口方法中的getanimalsname          
        animals.cry();                                                                      //调用animals接口方法中的cry
    }   
}

cat.java


public class cat implements animals {                           //cat类实现animals接口,并重写animals接口中所有方法
    public void cry()                                           //cat类重写cry方法
    {   
        System.out.println("mimiimmi");                         //
    }
    public String getAnimalName()                           //cat类重写getanimalsname方法
    {
        return"cat";                                                //返回一个字符串cat
    }
}

dog.java


public class dog implements animals {                       //dog类实现animals接口,并重写其接口内所有方法
    public void cry()                                       //重写cry方法
    {
        System.out.println("wangwangwang");                     
    }
    public String getAnimalName()                           //重写getanimalsname方法
    {
        return"dog";                                        
    }
}

lizi.java


public class lizi {                                             
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
            Simulator simulator = new Simulator();
                simulator.playSound(new dog());                             //simulator.playSound(getAnimalName(dog))
                simulator.playSound(new cat());                             // simulator.playSound(getAnimalName(cat));
    }

}
//第五行是在simulator类中创建一个simulator变量,重写simulator类中的方法
//6、7行是我自己在前面瞎写的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值