A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈世涛 中级黑马   /  2012-7-18 08:40  /  1462 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

interface Inter
{
        //接口的成员。都有固定的修饰符。
        /*
        常见:
                1,常量。全局常量 有固定修饰符 public  static final
                2,抽象方法。固定修饰符 public abstract
        */
        public static final int Shu = 3;
        public abstract void show();
//        public abstract void method();


}
那是不是可以这样理解,
接口中的成员只有常量和抽象方法,
且都有固定的修饰符呀?
求指教。

5 个回复

倒序浏览
只能说,接口中最常见的成员是全局常量和抽象方法。
记住:只是最常见,不代表只有它们没有其他的。

全局常量:共有的不需要对象,直接用接口调用的,不可变的。表现形式:public static final
抽象方法:public abstract

接口中的成员都有固定的修饰符。
全局变量:public static final
抽象方法:public abstract
回复 使用道具 举报
接口和抽象类的区别
                A:抽象类只能单继承
                   接口可以多实现。
                B:抽象类中可以由非抽象方法。抽象类中可以定义变量和常量。
                   接口中的方法都是抽象的。接口中只能有静态常量。
                   因为接口中的方法都有默认修饰符:public abstract
                       接口中的成员变量都有默认修饰符:public static final
                C:抽象类中定义的是一个体系的共性功能。
                   接口中通常定义的对象中的扩展功能。
                D:接口的出出现避免了单继承的局限性。
                E:抽象类被继承表示的是:is a 的关系。叫做:xx是yy的一种。
                   接口被实现表示的是:like a 的关系。叫做:xx像yy一种。
所有你也可以这样理解,
回复 使用道具 举报
据我的理解,接口中是只有常量和抽象方法的。

1.接口里的数据成员必须初始化,且数据成员均为常量;
2.接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,必须全部是“抽象方法”;
注意:
1.因为接口中的方法必须是抽象方法,而没有一般的方法,所以抽象方法中的abstract关键字是可以省略的;
2.因数据成员必须赋初值,且此值不能被改变,所以数据成员的关键字final也可以省略。
虽然关键字可以省略,但是并不推荐这样写,因为这样会降低程序的可读性。

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
接口初期可以理解为一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
接口中定义常量:public static final int x=3;
定义方法:public abstract void method( );
请注意我红笔注明的部分。这些可以在定义接口的时候省略不写,但是含义和写上去是一样的。

接口不可以创建对象,因为有抽象方法,所以需要被子类实现。子类对接口中的抽象方法全部覆盖后,子类才可以实例化。

接口.png (14.98 KB, 下载次数: 16)

接口.png

接口2.png (778 Bytes, 下载次数: 24)

接口2.png

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你理解的是对的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马