Java之匿名内部类和包装类
匿名内部类
作用: 假如某个类只使用一次,则可以使用匿名内部类,无需再新建该类
我们上下代码:
package com.learn.chap03.sec16; /**
* 定义接口
*/
public interface A {
public void a();
}
package com.learn.chap03.sec16;
public class B implements A{
@Override
public void a() {
// TODO Auto-generated method stub
System.out.println("只使用一次");
}
}
package com.learn.chap03.sec16;
public class Test {
public void test(A a) {
a.a();
}
public static void main(String[] args) {
Test t = new Test();
t.test(new B());
// 使用匿名内部类 咱不用再建B类
t.test(new A(){
@Override
public void a() {
System.out.println("匿名内部类,一次性使用!");
}
});
}
}
运行结果:
只使用一次
匿名内部类,一次性使用!
包装类
每个基本类型都有一个类,此类即为包装类。如图:

下面通过代码说明下:装箱与拆箱、自动装箱与自动拆箱、包装类的作用
package com.learn.chap03.sec17;
public class Demo1 {
public static void main(String[] args) {
int a = 1;
Integer i = new Integer(a); // 装箱 把基本变量变成对象变量
int b = i.intValue(); // 拆箱 把对象变量变成基本变量
System.out.println("a="+a+",i="+i+",b="+b);
}
}
运行结果
a=1,i=1,b=1
package com.learn.chap03.sec17;
public class Demo2 {
// 自动装箱和自动拆箱 从JDK1.5开始 引入
public static void main(String[] args) {
Integer i = 1; // 自动装箱的过程 自动把基本数据转换成对象
int m = i; // 自动拆箱 自动把对象转成基本数据
System.out.println("i="+i+",m="+m);
}
}
运行结果
i=1,m=1
package com.learn.chap03.sec17;
public class Demo3 {
// 包装类的作用
public static void main(String[] args) {
String a = "1";
String b = "2";
System.out.println("a+b="+(a+b));
int m = Integer.parseInt(a);
int n = Integer.parseInt(b);
System.out.println("a+b="+(m+n));
}
}
运行结果
a+b=12
a+b=3
Java之匿名内部类和包装类的更多相关文章
- Java基础——基本类型和包装类、基本类型和字符串之间的转换
基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更 ...
- Java开发学习--Java 中基本类型和包装类之间的转换
Java 中基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之 ...
- java中匿名内部类的匿名构造函数是怎么用的
java中匿名内部类的匿名构造函数是怎么用的下面的例子说明匿名内部类的匿名构造函数的用法 例2.7.2_0interface FigureMark_to_win { void whoAmI(); ...
- java学习之匿名内部类与包装类
匿名内部类: 所谓匿名内部类,顾名思义指的就是定义在类内部的匿名类,现有的spring框架开发以及java图形界面都经常用到匿名内部类. 下面来看一个代码: interface A{ public v ...
- java 8增强的包装类
---恢复内容开始--- 1java为8个类型提供了对应的包装类.因为这8个类型并不是类或者对象,他们原本是不应该存在在java里的(这里说的只是原本),这里要强调的是,java允许把基本类型的值直接 ...
- Java基本类型与包装类
存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型) ...
- 【Java入门提高篇】Day8 Java内部类——匿名内部类
今天来看看另一个更加神奇的类--匿名内部类. 就像它的名字表示的那样,这个类是匿名的,用完之后,深藏功与名,就像扫地僧那样默默潜藏于深山之中.匿名内部类不仅没有名字,连class关键字都省掉了,而且匿 ...
- java基本数据类型及其包装类
1.String类 String s1 = "hello world"; String s2 = "hello world"; String s3 = s1 + ...
- 【原】Java学习笔记024 - 包装类
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 之前对于基本数据类 ...
随机推荐
- Zip 压缩
ICSharpCode.SharpZipLib.dll using ICSharpCode.SharpZipLib.Zip; string[] filenames = Directory.GetFil ...
- 【转】Hibernate 原汁原味的四种抓取策略
最近在研究 Hibernate 的性能优化的时候碰到了"抓取策略", 由于以前没有详细的研究过, 所以到处找资料, 但是无论从一些讲 Hibernate 书籍,还是他人 Blog ...
- UIPickerView/UIDatePicker/程序启动的完整过程
一.UIPickerView 1.UIPickerView的常见属性 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id<UI ...
- sqlserver数据库脱机时发生异常:由于无法在数据库 'SMS' 上放置锁,ALTER DATABASE 失败。请稍后再试。 ALTER DATABASE 语句失败。 (.Net SqlClient Data Provider)
sqlserver数据库脱机时发生异常,如下: =================================== 设置脱机 对于 数据库“SMS”失败. (Microsoft.SqlServe ...
- get running task , process and service
public class MyActivityManager extends ExpandableListActivity { private static final String NAME = & ...
- Android快速开发-选项卡
介绍 几行代码实现Android选项卡界面,支持标准底部Tab自定义视图选项卡,头部文字选项卡. 底部自定义视图选项卡 先来看看实现下图中的效果我们代码应该怎么写? 实现上图效果只需以下代码: pub ...
- JS同源策略和跨域访问
同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只 ...
- mac root
我在mac下,用su登录root用户 但是提醒 su:Sorry 然后按照网上的方法弄了好多次,都没成功,说是要修改/etc/group 文件中,wheel后添加自己的用户名,用逗号分隔多个用户, ...
- (转) Myisam和Innodb索引实现的不同(存储结构)
转自 : https://blog.csdn.net/donghaixiaolongwang/article/details/60751543
- Java 线程的中断机制
今天我们聊聊 Java 线程的中断机制. 线程中断机制提供了一种方法,用于将线程从阻塞等待中唤醒,并作出相应的“受控中断”处理. synchronized (lock) { try { while ( ...