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) { // 之前对于基本数据类 ...
随机推荐
- iOS-沙盒路径
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library.(NSHomeDirectory() ...
- iOS自动化探索(五)自动化测试框架pytest - Assert断言的使用
使用assert语句进行断言 pytest允许使用标准的python assert语法,用来校验expectation and value是否一致 代码演示: def func(): def test ...
- ubuntu下搭建hadoop平台
终于把单击模式跟伪分布式模式搭建起来了,记录于此. 1.SSH无密码验证配置 因为伪分布模式下DataNode和NameNode均是本身,所以必须配置SSH localhost的无密码验证. 第一步, ...
- 2017.11.18 IAP下载(STM8,PIC,STM32)
客户要求用IAP下载,mark一下,客户还给了stm32的引导码.仅供参考. 1 PIC单片机的IAP 2 STm32 IAP https://www.cnblogs.com/WeyneChen/p ...
- vbs 字符串替换
http://blog.csdn.net/flm2003/article/details/7212448 function返回值 http://www.cnblogs.com/wakey/p/5758 ...
- R-一页多图
https://blog.csdn.net/ailsa__/article/details/45932753
- 【MFC】mfc控件位置调整和坐标确定 .
摘自DoubleLi: http://www.cnblogs.com/lidabo/archive/2012/08/24/2654678.html mfc控件位置调整和坐标确定 http://my ...
- python学习之数据结构
python的数据很丰富,所以对于数据分析来讲, python是一种最合适的选择 下面讲述一下常见的数据结构,包括栈,队列,元组,字典,集合等,以及对这些数据结构进行操作 #堆栈,后进先出 a=[10 ...
- linux之文件操作
1. 文件操作思维导图 2. linux系统目录结构及简单说明 linux目录图: root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普 ...
- MYSQL 级联 添加外键
MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...