练习:如何创建匿名内部类

来源:互联网 发布:苹果双系统怎么删除mac 编辑:程序博客网 时间:2024/04/28 09:49

在前面学习了内部类之后,在内部类中也有匿名内部类,所谓匿名内部类由于没有名字,所以它没有构造函数(但是如果这个匿名内部类继承了一个只含有带参数构造函数的父类,创建它的时候必须带上这些参数,并在实现的过程中使用super关键字调用相应的内容)。下面通过毕老师视频中讲解的一个匿名内部类实例来对知识点的巩固和学习,希望大家能提些建议。


练习:创建一个匿名内部类
1,只在主函数中提示了:Test.function().method();
2,完成需要补齐的代码。

根据主函数中给出的提示代码:Test.function().method();分析思路:
                   1,当看到Test后面的.的时候,想到这个类中,肯定有静态成员,而且这个成员名字就是function,通过function,后面的括号得知它是一个函数:function()。
                   2,Test.funtion()这个叫调用一个函数,funtion()运算完了后,后面跟了个点还调用method方法。

                   3,function()运算完了后的结果是一个对象,只有返回来的是对象,才能访问method()方法,method方法一定要被对象调用。

                   4,什么对象能够调用method方法,必然是Inter,返回值类型是Inter,只有Inter类型的对象才能调用method方法。可是Inter是不能创建对象的,只有子类调用才可以。

 

/*

interface Inter
{
      void method();
}


class Test

 //补齐代码。通过匿名内部类。

}

class 
{
      public static void main(String[] args)
      {
            Test.function().method();
      }
}

*/

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - -

正解代码如下:

interface Inter
{
      void method();
}


class Test
{
      //补齐代码。通过匿名内部类。


      /*注释内容为正常通过内部类实现功能
      static class Inter implements Inter
      {
            public void method()
           {
                  System.out.println("method run");
           }
      }
 */

      static Inter function()
      {
            //作为匿名类后就没有名字了,
           //所以需要用Inner的父类或者接口的名字代替。
          //接口不能new对象,因为它里面有抽象方法。
         //return new Inner(){}  //Inner是Inter的子类。

           return new Inter()
           {
                public void method()
                {
                       System.out.println("method run");
                }
            };
        }
}

 

class  NiMingNeiBuLeiTest
{
      public static void main(String[] args)
      {
             Test.function().method();//根据提示的此代码写匿名内部类
      }
}

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 二个月的宝宝不喝夜奶怎么办 婴儿不喝奶粉怎么办 小孩整天不吃饭怎么办 婴儿不吃不喝怎么办 断奶后不吃奶瓶怎么办 小孩早上不吃饭怎么办 新生儿不认乳头怎么办 宝宝不吸奶嘴怎么办 孩子不会吸奶瓶怎么办 宝宝突然不吃奶瓶怎么办 换了奶瓶不喝奶怎么办 新生儿不喝奶粉怎么办 7个月小婴儿磨牙怎么办 宝宝出生四天不喝母乳怎么办 我的奶水不足怎么办 乳牙长得不整齐怎么办 新生儿只吃奶粉怎么办 小孩不肯吸母乳怎么办 三个月宝宝不吃奶粉怎么办 宝宝不爱喝水怎么办 崔玉涛 小孩身体铅过高怎么办 疫苗引起的发烧怎么办 婴儿不吃米糊怎么办 宝宝米糊不吃怎么办 换奶瓶宝宝不吃怎么办 小孩不会吃奶瓶怎么办 百天不吃奶瓶怎么办 1岁宝宝积食怎么办 宝宝退烧后流汗怎么办 宝宝高烧后出汗怎么办 发烧出汗不退烧怎么办 婴儿发烧不出汗怎么办 婴幼儿发烧不退怎么办 宝宝突然不吃饭怎么办 宝宝吃饭到处跑怎么办 宝宝不吃奶瓶怎么办崔玉涛 八个月母乳不足怎么办 八个月宝宝厌食怎么办 婴儿辅食便秘怎么办 婴儿被食物卡住怎么办 婴儿食物卡喉咙怎么办