您的位置:首页 > 其它

抽象类与接口类的区别

2009-12-24 15:20 288 查看
1.interface Animalss{}//空接口
2.// 接口的例子
3.interface Animals
4.{
5.    void makeSounds();
6.    void moves();/*接口前面的关键字只能为abstract或public*/
7.    /*接口里只允许声明方法,不允许有实现,因此下面这个实现了的方法不允许出现在接口定义中*/
8.    /*void eats()
9.    {
10.        eats code
11.    }*/
12.
13.}
14.// 抽象类的例子
15.abstract class Animal
16.{
17.    /*如果只是声明方法没有实现,必须加关键字"abstract"*/
18.    abstract void makeSound();
19.    /*可以有方法的实现,只要有一个抽象方法,此类就满足抽象类的条件*/
20.    void move()
21.    {
22.        /*movecode*/
23.    }
24.    /*可以是空方法,子类可复写或者重载*/
25.    void eat(){}
26.}
27.//以下是一个既是继承了抽象类的子类,又是实现了接口的实现类的例子
28.class Dog extends Animal implements Animals,Animalss/*抽象类不支持多继承,而接口支持*/
29.{
30.    /*实现了抽象父类唯一的抽象方法makeSound(),自己就不再是抽象类了,另外两个方法move()和eat()直接从父类继承*/
31.    void makeSound()
32.    {
33.        /*make sound code*/
34.    }
35.    /*实现Animals中的方法,注意实现的方法的权限不能低于接口中声明的权限,而接口中声明的方法的权限均为public,所以在实现类的方法前要加关键字public*/
36.    public void makeSounds()
37.    {
38.        /*make sounds code*/
39.    }
40.    void moves()
41.    {
42.        /*moves code*/
43.    }
44.}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: