匿名内部类:

所谓匿名内部类,顾名思义指的就是定义在类内部的匿名类,现有的spring框架开发以及java图形界面都经常用到匿名内部类。

下面来看一个代码:

interface A{public void fun() ;
}
class B implements A{public void fun(){System.out.println("Hello World!!!") ;}
};
class X{public void fun1(A a){a.fun() ;}public void fun2(){this.fun1(new B()) ;}
};
public class NonameDemo01{public static void main(String args[]){new X().fun2() ;}
};

如果这是实际开发,那么上面的代码存在什么问题?

在了解匿名类之前我们可能只能这样写来实现所需功能,但java语法允许通过设置匿名内部类来去除B类定义(因为B类只会使用一次,单独定义较为浪费)。

interface A{public void fun() ;
}
class X{public void fun1(A a){a.fun() ;}public void fun2(){this.fun1(new A(){public void fun(){System.out.println("Hello World!!!") ;}}) ;}
};
public class NonameDemo02{public static void main(String args[]){new X().fun2() ;}
};

包装类:

java遵从一切皆对象的原则,那么基本数据类型也应该可转为对象进行操作,这就是类的包装。

在jdk1.5之前,类的包装需要手工转换,

public class IntegerDemo01{public static void main(String args[]){int i = 10 ;Integer i2 = new Integer(i) ; // 装箱操作int j = i2.intValue() ;     // 拆箱操作System.out.println(j * j) ;}
};

jdk1.5之后,可自动执行包装与拆装

public class IntegerDemo01{public static void main(String args[]){int i = 10 ;Integer i2 = i ;    // 装箱操作int j = i2 ;        // 拆箱操作System.out.println(j * j) ;}
};

三个常用Interger方法

public class IntegerSize {public static void main(String[] args) {System.out.println(Integer.MAX_VALUE);//值为 2<sup>31</sup>-1 的常量System.out.println(Integer.MIN_VALUE);//值为 -2<sup>31</sup> 的常量System.out.println(Integer.SIZE);//数据类型位数}
}

将字符串转换成int/float/double类型,借助parse(Int/Float/Double)

public class Integerint {public static void main(String[] args) {String s="123";int i = Integer.parseInt(s);System.out.println(++i);}
}

转载于:https://www.cnblogs.com/walkthehorizon/p/4388140.html

java学习之匿名内部类与包装类相关推荐

  1. 【Java学习笔记八】包装类和vector

    包装类 在Java语言中,每一种基本的数据类型都有相应的对象类型,称为他们基本类型的包装类(包裹类). 字节byte:Byte.短整数型short:Short 标准整数型int:Integer.长整数 ...

  2. JAVA学习 API_day02(正则表达式, StringBuider, 包装类, Collection集合类接口)

    正则表达式, 包装类, Collection集合类接口 1.正则表达式 2.StringBuider类 3.包装类 4.Collection接口 1.正则表达式 public final class ...

  3. 菜鸟学习笔记:Java基础篇7(包装类、时间相关类、文件类、异常处理类)

    菜鸟学习笔记:Java其他常用类 基本数据类型包装类 时间处理和文件处理相关类 Date时间类 SimpleDateFormat Calendar日历类 文件类 异常机制 异常的概念 Java异常处理 ...

  4. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  5. Java学习(入门知识)

    Java学习 java入门学习当你们还在打完一局王者的时候,我就已经开始入门java了哈哈哈哈哈哈 这是好久之前总结的了,先试着发一发吧. 1.类变量 类变量也称为静态变量 静态变量随着类的创建而创建 ...

  6. 2022年Java学习笔记目录

    一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...

  7. Java 学习笔记(导航目录)

    Java学习计划 ☕️学习目标 ☕️学习目录 第1部分 Java基础程序设计 第1章 Java概述及开发环境搭建 第2章 简单的Java程序 第3章 Java基础程序设计 第4章 数组与方法 第2部分 ...

  8. Java学习的正确方式

    文章目录 一.Java基础 1.Java基础教学视频 2.Java基础博客文章目录 3.Java基础书籍 二.关于JavaWeb基础 1.JavaWeb基础教程视频 2.关于JavaWeb博客文章 三 ...

  9. JAVA学习路线资料

    java学习路线资料 该博客是摘自其它博主整理的文章,感觉各种视频和书籍链接整理的十分全面,对于初学者来说方便,打算依照博主的架构了解下JAVA开发.虽然主要做嵌入式方面,但了解下JAVA编程也有利于 ...

最新文章

  1. wpf中的点击窗口放大放小按钮怎么写_Python tkinter教程01:创建窗口
  2. 杂音 pop 音的解决方法
  3. 9.3 Trains and Evaluates the MNIST network using a feed dictionary
  4. 客户端和服务器不支持一般 ssl 协议版本或加密套件。_恶意软件加密通信概要分析...
  5. nginx安装和配置实例
  6. 华中数控hnc一818b_数控车床精确对刀方法总结
  7. document.readyState 属性
  8. C#判断文字是否为汉字
  9. 如何告别脂肪肝?要注意什么?
  10. JAVA 入门教程 2
  11. LaTeX数学符号大全
  12. 如何使用ccs软件创建工程
  13. Swift4-有妖气漫画精仿框架部分
  14. android文本框删除按钮,ClearEditText — 带删除按钮的输入框
  15. android 实现点击水波纹,Android 水波纹点击效果(Ripple Effect)
  16. 基于图神经网络的知识图谱研究进展
  17. ubuntu 16.10 install 搜狗输入法
  18. Python的traceback
  19. Java实现一个单号生成工具类
  20. python爬取糗事百科超搞笑图片

热门文章

  1. 数学建模优化模型简单例题_数学建模之优化模型:存储模型
  2. 2020-mb面试指南_2020年最佳代码面试准备平台
  3. 安全工程师2017年真题_以下是2017年全球软件工程师的平均薪水
  4. 顺F速运国际版,你的密码漏点了
  5. shell脚本中的case语句使用要点
  6. 人工神经网络是如何实现存算一体的
  7. PMP®考试是什么机构
  8. 使用intellij idea制作可执行jar文件
  9. 微信小程序server-1-搭建HTTPS server
  10. 如果BarTender出现卸载不干净的问题如何处理