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) { // 之前对于基本数据类 ...
随机推荐
- 【sparkSQL】DataFrame的常用操作
scala> import org.apache.spark.sql.SparkSession import org.apache.spark.sql.SparkSession scala> ...
- 【51nod-1605】棋盘问题
上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在玩一个游戏,每次寻找边长为x的正方形,其中每个格子必须为黑色,然后将这些格子染白. 如果谁不能操作了,那么那个人就输了. ...
- MySQL show processlist 执行状态分析
1.Sleep 通常代表资源未释放,如果是通过连接池,sleep状态应该恒定在一定数量范围内 实战范例:因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产 ...
- LeetCode OJ:Excel Sheet Column Number(表格列数)
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- Linux中查看各文件夹大小命令:du -h --max-depth=1
Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...
- 敏捷开发之scrum模型
什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它 ...
- dojo chart详解
Dojo提供了一套很完善的统计图(Chart)接口,在dojox/charting下面,可以支持很多种类型的. .简介 Dojo统计图提供快速的.简单的接口实现美观的.交互性强的web统计图表的实现. ...
- HAWQ取代传统数仓实践(十二)——维度表技术之分段维度
一.分段维度简介 在客户维度中,最具有分析价值的属性就是各种分类,这些属性的变化范围比较大.对某个个体客户来说,可能的分类属性包括:性别.年龄.民族.职业.收入和状态,例如,新客户.活跃客户.不活跃客 ...
- => 应用在js回调函数中
=> 可以简化以前的回调函数的调用,具体来说: 今后,几乎所有的回调函数都可用箭头函数简化 比如: 1. 所有回调函数都可: 去function改=> 2. 如果函数体只有一句话: 可省略 ...
- linux 段错误常见处理方法
1.如果没有产生core文件,可以查询系统log 通过 sudo cat /var/log/messages |grep segfault 或者 sudo dmesg|grep segfault 获得 ...