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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清秋 黑马帝   /  2011-11-18 23:38  /  2839 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 清秋 于 2011-11-21 09:51 编辑

在习题中看到接口定义
i
  1. interface A()
复制代码
接口定义应该怎么写,可以省略大括号{}么?

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

5 个回复

正序浏览
徐杨 黑马帝 2011-11-19 20:51:13
地板
省略也是一个权限  叫做 默认权限
public,可以再不同类,不同包的子类访问,完全暴露在外
protected,可以在同一个类、同一个包、不同包中的子类访问
默认:在同一个类、同一个包中访问,区别在最后一点,不能在子类中访问。

接口中的成员都有固定修饰符
                常量:public static final
这个目的在于接口是相当于一个规范,如果想用这个接口就要遵循这个规则。里面的成员变量 不应随其他对象而改变,固设置为final

方法:public abstract

是声明了方法,但为实现方法,如果使用这个接口需要实现所有接口的抽象方法。这也是需要使用接口就必须遵循接口规则的体现

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
清秋 黑马帝 2011-11-19 01:16:52
报纸
徐杨 发表于 2011-11-19 00:12
第二行{

第五行}

很感谢的回答
对一些基础知识点。我觉得用视频的方式巩固起来特别不方便。虽然我做了些笔记。但总不是十全十美的

还有。此处的public,应该是因为匿名内部类实现了接口。

视频里讲到:
接口中的成员都有固定修饰符
                常量:public static final
                方法:public abstract

        接口中的成员都是public

但练习中的接口并没有用public.而子类继承父类权限必须大于等于父类,此处如果父类是 省略 ,那子类可不可以省略呢。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 赞一个!

查看全部评分

回复 使用道具 举报
徐杨 黑马帝 2011-11-19 00:12:22
板凳
第二行{

第五行}
这个是可以不在一行的
建议重新巩固基础知识

关于内部类为什么权限一定要定义为public
这是为了内部类外面的类来调用该内部类中的方法
如果内部类中方法设置为私有方法,相当于外部类都看不见内部类的任何方法,更别说调用使用了
但是我觉得不是一定要设置为public   根据需求来定是public还是private
比如你内部类里有一个算法方法,只需要内部类里的其他方法调用,不需要外部类调用,完全可以私有化 然后不对外暴露。
这还体现了封装的优势

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
清秋 黑马帝 2011-11-18 23:52:22
藤椅
徐杨 发表于 2011-11-18 23:41
interface A {
内容....
}

我在视频day10-6里看到好多都是省略{}的。
  1. interface Inter
  2. {
  3.         void show( int a, int b );
  4.         void func();
  5. }
  6. class Demo
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 //补足代码:调用两个函数,要求用匿名内部类
  11.                 Inter in = new Inter()
  12.                 {
  13.                         public void show( int a, int b )        //此处为什么用public
  14.                         {
  15.                         }
  16.                         public void func()
  17.                         {
  18.                         }
  19.                 };
  20.                 in.show(4,5);
  21.                 in.func();
  22.         }
  23. }
复制代码
还有此处匿名内部类的方法,为什么一定要定义为public

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 赞一个!

查看全部评分

回复 使用道具 举报
徐杨 黑马帝 2011-11-18 23:41:34
沙发
interface A {
内容....
}

不可以省略大括号
接口的基本思想:
1,接口就是对外暴露的规则。
2,接口是功能的扩展。
3,接口的出现降低了耦合性(紧密联系程度)。耦合性的降低就是实现了模块化的开发。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马