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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯利 中级黑马   /  2014-12-28 20:19  /  1074 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题,最近一直在看毕向东的视频,前面的都还行,就是到了后面,面向对象这块有点晕菜的了。看视频还是可以看明白的就是一到自己动手的时候就开始各种不会,要不然就是写出来的东西各种报错的,简直是无语死了,各位大神都是怎么过来的。自学到第十天匿名变量这一块,代码完全不理解啊。求开导。。。。

9 个回复

倒序浏览
匿名内部类,  其实就是简化了类的写法而已,没有什么特别的.
比,  我有一个抽象类, 然后我老老实实的写了一个子类继承它,再重写它的方法.
然后测试类里面, 让父类引用来调用子类对象(多态).来调用方法.   这样写很标准,很完美.        如果这个对象只调用一次,那么我创建一个类来继承它,...然后各种操作   这实在浪费.   于是就有了匿名内部类了,
直接在测试类来调用它    Person p = new Person(){....重写方法};    p.方法;       我个人感觉匿名内部类,就是把子类浓缩在一个大括号里面
.........

点评

多谢指导。我再多多看看视频  发表于 2014-12-29 12:23
回复 使用道具 举报
先从头到尾看一遍,可以囫囵吞枣地浏览一 遍,再查缺补漏地看一遍
回复 使用道具 举报
不管什么代码 过看几遍 也许就懂了
回复 使用道具 举报
学会改变理解方法,改变三观,才能更好的学习。
我一开始看的时候,匿名类和内部类完全搞不懂,不过不用担心,直接往后看,看完再回头把这个看一下,自然就懂了。
内部类:就是在类中定义类。即在class{}里面再加一个变成:class{ class{}};也可以在方法执行体里面。
匿名对象:就是没有名字的对象,直接创建的,如:Person p = new Person() 左边叫类的引用,右边叫对象,如果只要右边而没有左边的类的引用,就叫匿名对象:new Person()。

匿名内部类就是上面两者的综合体.
回复 使用道具 举报
楼主要加油了啦。。。。

点评

恩恩,会的  发表于 2014-12-29 12:19
回复 使用道具 举报
冯利 中级黑马 2014-12-29 12:21:50
7#
zqbemail 发表于 2014-12-28 22:21
学会改变理解方法,改变三观,才能更好的学习。
我一开始看的时候,匿名类和内部类完全搞不懂,不过不用担 ...

恩恩,多谢。。。。
回复 使用道具 举报
duluhua 中级黑马 2014-12-29 13:30:17
8#
匿名内部类,字面上理解就是:没有名字的定义在类内部的类。
先说匿名:通常Person p = new Person() ;这句话的意思是给对象new Person()起一个名字叫做p。如果是匿名的话肯定就没有Person p了   也就是说只有new Person()
再说内部:通常定义类都是建立一个。.java文件,而类名就是文件名,这不是内部类,顾名思义,内部 内部就是定义在类的内部的类。
联合起来:匿名内部类就是:定义在类的内部,且没有名字的类。那么是什么情况呢。new Person()是一个没有名字的对象。而匿名内部类其实就是一个对象,注意它不是一个类,即使称呼为匿名内部类,其实是一个对象。

类中肯定有属性和方法,那么匿名内部类肯定也不例外,如何定义匿名内部类的方法呢。就是在对象后面直接写,如:
new Person(){
      public void talk(){//这里就是匿名内部类的方法
           System.out.println("我是匿名内部类的方法");
     }
}
接下来的问题就是,怎么使用匿名内部类?通常我们使用一个类,都是使用其对象,而最终的目的其实是使用里面的方法和属性。使用   对象.方法名  的方式来调用。
那么匿名内部类如何使用呢,其实也是遵循  对象.方法名的方法,比如上面的例子,我们可以这么调用里面的方法:
new Person(){
      public void talk(){//这里就是匿名内部类的方法
           System.out.println("我是匿名内部类的方法");
     }
}.talk();//这一在.talk()之前的new Person(){}  其实就是一个对象.  对象.talk() 就是调用对象的方法。

匿名内部类其实是一个对象~!!!!!!!!!!!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马