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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 童兴龙 中级黑马   /  2012-8-25 19:13  /  2345 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 童兴龙 于 2012-8-26 08:10 编辑

接口中可不写public,但在子类中实现接口的过程中public不可省。
这是什么道理啊?是因为继承关系的权限必须要大于父类声明的权限?还有为什么一个文件只能有一个class是public的?

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
接口里面的所有属性都为public static final的,即使你不写出来,也会被默认为这样的,接口里面的方法是且只能是public,就算你在接口里不写,那也是默认的public的,但在用类实现接口的时候,必须将方法写为public的,不能不写,应为不写会被默认为是default的,这样权限就发生变化了,就会出错。

    public interface:公开接口
与类相似,一个文件只能有一个public接口,且与文件名相同。
在一个文件中不可同时定义一个public接口和一个public类。

一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 刘源 于 2012-8-25 19:41 编辑

接口定义时,格式特点:
1,接口中常见定义:常量,抽象方法。
2,接口中的成员都有固定修饰符。
常量:public static final
方法:public abstract
记住:接口中的成员都是public的。
所以你要实现接口都必须是publlic.

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1

查看全部评分

回复 使用道具 举报
接口中的成员都有固定的修饰符
常量为:public static finally
方法为:public abstract
所以接口中的成员都是public的
只要是你定义了一个接口,系统就默认你里面的成员全部public
所以public可以写也可以不写
但是当你要实现接口的时候,必须权限要大于等于public权限才行,
而Java中public权限最大,故接口是public,子类必须要写public

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
哇,你们真速度
回复 使用道具 举报
方志亮 发表于 2012-8-25 19:31
接口里面的所有属性都为public static final的,即使你不写出来,也会被默认为这样的,接口里面的方法是且 ...

谢了!说的很具体。
回复 使用道具 举报
谢谢大家了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马