社区
Java SE
帖子详情
Java匿名内部类的问题
charon_ni
2018-02-11 11:19:53
两个问题
1.调用子类特有的方法是不是只能用局部内部类,不能用匿名内部类
2.在这里为什么只要设置一个return,就可以.run().sleep()就可以了,返回的this指的是什么。这个代码是可以运行的,但是改为.sleep().run()就报错。所以并不是理解这里的this。
...全文
824
5
打赏
收藏
Java匿名内部类的问题
两个问题 1.调用子类特有的方法是不是只能用局部内部类,不能用匿名内部类 2.在这里为什么只要设置一个return,就可以.run().sleep()就可以了,返回的this指的是什么。这个代码是可以运行的,但是改为.sleep().run()就报错。所以并不是理解这里的this。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
昵称都用完了
2018-02-16
打赏
举报
回复
顶一下#4楼。说得挺清楚了。 你不return this一下,后面的.sheep()怎么运行呢? 所以必须return this啊。
12Dong
2018-02-13
打赏
举报
回复
你的这个Animal run()返回的this 指的是 这个Animal对象 你使用的.run().sleep()可以理解为 Animal这个对象的sleep()方法 但是如果反过来 .sleep().run()方法 就错了 这个未知的东西没有run()方法
appleyk
2018-02-11
打赏
举报
回复
new一个对象,调用自己的run方法(重写抽象类animal中的run方法),run方法返回这个对象的实例,然后拿着这个实例调用内部的方法sleep
简单点就是,run里面的return this -- 这个this 就是 new 出来的 Animal的对象,有了对象你才能访问对象成员,比如调用slepp方法,你如果反过来的话,先调用sleep方法,也是可以的,但是你.sleep().run() 是什么意思呢? sleep返回类型void,不是一个对象,怎么能当对象用呢?
maradona1984
2018-02-11
打赏
举报
回复
this是指对象本身,非静态方法需要调用某个对象的方法,在方法里使用this就是拿到这个对象,return this就是方法返回这个对象,然后可以调用其他方法
demystify
2018-02-11
打赏
举报
回复
原因很简单,你的sleep接口返回为void,调用sleep().run()会报空指针错误。java里this就一个意思,就是当前的类对象本身
跟汤老师学
Java
(第12季):枚举、泛型、内部类
本课程从零开始,以通俗易懂的方式讲解
Java
技术,手把手教你掌握每一个知识点。 真正做到零基础入门学习,适合初学者的教程! 课程内容包括: 1.枚举的简介 2.枚举用法 3.泛型简介 4.泛型类 5.泛型接口 6.泛型方法 7.泛型特性 8.内部类简介 9.成员内部类、局部内部类、静态内部类、
匿名内部类
教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!
java
匿名内部类
,什么是
匿名内部类
,如何定义
匿名内部类
,如何使用
匿名内部类
?
java
匿名内部类
什么是
匿名内部类
?
匿名内部类
的使用场景?
匿名内部类
如何创建?
匿名内部类
的实现和使用例1(实现接口)例2(继承类) 什么是
匿名内部类
?
匿名内部类
,顾名思义,就是不知道这个类到底是什么名字,也就是不知道类名。
匿名内部类
的使用场景?
匿名内部类
适合创建那种只需要使用一次的类,也就是说创建一个
匿名内部类
,只需要用一次即可。
匿名内部类
如何创建? new 类名(参数) | 实现接口...
Java
匿名内部类
Java
匿名内部类
是一种可以在创建对象时直接定义内部类的方式,而不需要单独定义一个类。它通常用于创建实现某个接口或继承某个类的对象。
匿名内部类
的作用包括:简化代码。使用
匿名内部类
可以避免定义一个单独的类,从而使代码更加简洁。实现接口或继承类的抽象方法。使用
匿名内部类
可以直接实现接口或继承类的抽象方法,从而避免定义一个单独的类。
Java
匿名内部类
是一种可以在创建对象时直接定义内部类的方式,它通常用于创建实现某个接口或继承某个类的对象。
java
匿名内部类
参数_
Java
匿名内部类
原理与用法详解
本文实例讲述了
Java
匿名内部类
原理与用法。分享给大家供大家参考,具体如下:一 点睛
匿名内部类
适合创建那种只需要一次使用的类,定义
匿名内部类
的语法格式如下:new 父类构造器(实参列表) | 实现接口(){//
匿名内部类
的类体部分}从上面的定义可以看出,
匿名内部类
必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或实现一个接口。两条规则。
匿名内部类
不能是抽象类。
匿名内部类
不能定义构造器。由...
java
匿名内部类
1.
匿名内部类
介绍 使用
Java
编程时,常常需要创建不会被再次使用的对象。在这种情况下,非常适合使用一种特殊 的内部类:
匿名内部类
。这种类没有名称,是在同一条语句中声明和创建的。 要使用
匿名内部类
,可将引用对象的代码替换为关键字 new、对构造函数的调用以及用大括号 ({和})括起的类定义。 既然是匿名类,所以你无法在别的地方实例化和使用这个类。
匿名内部类
也可用于接口(interface)的实现 特点 匿名对象:没有名字的对象。 new ClassName().run(); 非匿名对象:含有名
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章