黑马程序员技术交流社区

标题: 给大家出一个基础班的题.... [打印本页]

作者: 苏乞儿    时间: 2014-9-14 02:16
标题: 给大家出一个基础班的题....
  1. /*
  2.         要求:补齐代码,输出helloworld
  3. */
  4. interface Inter
  5. {
  6.         void show();
  7. }
  8. class Outer
  9. {
  10.         //补齐代码,可以写两种形式,虽然基础班不做过多要求,但是感觉蛮有用的...
  11.         //做过的就算了,没做过的代码不用急着写,先看看自己有没有思路。。
  12. }
  13. class Test
  14. {
  15.         public static void main(String[] args){
  16.                 Outer.method().show();
  17.         }
  18. }
复制代码



作者: xpaibeyond    时间: 2014-9-14 03:32
public static Outer method(){
                return new Outer();
        }
        public void show(){
                System.out.println("hello world");
        }



static class InterImpl implements Inter{

                public void show() {
                        System.out.println("hello world!");
                }
               
        }
        public static InterImpl method(){
                return new Outer.InterImpl();
        }
作者: cs8630323    时间: 2014-9-14 04:37
再搞点难的
作者: 逍遥呆    时间: 2014-9-14 09:48
本帖最后由 逍遥呆 于 2014-9-14 09:52 编辑
xpaibeyond 发表于 2014-9-14 03:32
public static Outer method(){
                return new Outer();
        }

这部分是什么意思?
static class InterImpl implements Inter

            
作者: 龙帅    时间: 2014-9-14 10:17
逍遥呆 发表于 2014-9-14 09:48
这部分是什么意思?
static class InterImpl implements Inter

静态内部类 InterImpl 实现接口 Inter
作者: 逍遥呆    时间: 2014-9-14 10:40
龙帅 发表于 2014-9-14 10:17
静态内部类 InterImpl 实现接口 Inter

明白了,谢谢
作者: xpaibeyond    时间: 2014-9-14 11:25
逍遥呆 发表于 2014-9-14 09:48
这部分是什么意思?
static class InterImpl implements Inter

这个静态内部不实现上面那个接口也可以的,上面第2个method可以写成这样。
public static InterImpl method(){
                return new InterImpl();
        }

实现了Inter接口,method还可以写成这样,
public static Inter method(){
        return new InterImpl();
}
作者: 逍遥呆    时间: 2014-9-14 13:46
xpaibeyond 发表于 2014-9-14 11:25
这个静态内部不实现上面那个接口也可以的,上面第2个method可以写成这样。
public static InterImpl meth ...

主要是想问,这题那个接口是不是一定要实现?
作者: xpaibeyond    时间: 2014-9-14 14:58
逍遥呆 发表于 2014-9-14 13:46
主要是想问,这题那个接口是不是一定要实现?

  不是一定要实现。。
作者: 逍遥呆    时间: 2014-9-14 15:04
xpaibeyond 发表于 2014-9-14 14:58
不是一定要实现。。

哦,谢谢
作者: 进击的大鹏    时间: 2014-9-14 22:10
匿名对象,二楼正解
作者: 一米阳光、    时间: 2014-9-14 22:37
匿名对象 受教了
作者: 不再青春哥    时间: 2014-9-14 23:04
谢谢分享
作者: 沙拉很好吃    时间: 2014-9-14 23:39
学习,学习!
作者: 苏乞儿    时间: 2014-9-15 00:06
沙拉很好吃 发表于 2014-9-14 23:39
学习,学习!

互相学习,互相提高啊,哈哈

作者: 不系之舟王    时间: 2014-9-15 00:09
不懂,真的得好好学习啊
作者: lq你微笑时好美    时间: 2014-9-15 00:20
明天开电脑运行::试试
作者: 苏乞儿    时间: 2014-9-15 00:38
cs8630323 发表于 2014-9-14 04:37
再搞点难的

哈哈,我刚学,这都到极限了,,,,,不过可以再看看File中的那里有个关于FileFilter文件过滤器的匿名内部类。。。
作者: 梦里听传说    时间: 2014-9-15 01:00
package Relect;

/*要求:补齐代码,输出helloworld
*/
interface Inter
{
      void show();
}
class Outer
{
     public static Inter method()
     {
             return new Inter(){public void show(){System.out.println("helloworld");}};
     }
        //补齐代码,可以写两种形式,虽然基础班不做过多要求,但是感觉蛮有用的...
      //做过的就算了,没做过的代码不用急着写,先看看自己有没有思路。。
}
public class Text
{
      public static void main(String[] args){
              Outer.method().show();
      }
}
作者: 苏乞儿    时间: 2014-9-15 01:05
梦里听传说 发表于 2014-9-15 01:00
package Relect;

/*要求:补齐代码,输出helloworld

高手一直都在“民间”啊,啊哈
作者: 梦里听传说    时间: 2014-9-15 01:07
这类题要从主函数开始分析   Outer.method().show(); 主要是这句话 Outer类名调用method(),只能有俩种情况,第一种 是 静态方法,第二种是内部类 ,如果是用静态方法来解这道题的话 看最后的那句show(); 说明这个方法肯定会返回一个Inter对象,这样想 题就解开了,如果用内部类来做这道题是最好想的,内部类实现了INTER 复写SHOW方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2