当前位置: 首页 > 编程日记 > 正文

Java学习总结:16

匿名内部类

匿名内部类指的是没有名字的内部类,其必须在抽象类或接口基础上才可以定义。
例:采用匿名内部类简化类的定义

interface Message{	//定义接口public void print();
}
public class Test1_1_4_9 {public static void main(String args[]){fun(new Message(){	//直接实例化接口对象public void print(){	//匿名内部类中覆写print()方法System.out.println("Hello World");}});		//传递匿名内部类实例化}public static void fun(Message msg){	//接收接口对象msg.print();}
}
//结果
//Hello World

基本数据类型的包装类

Java为基本数据类型提供了对应的类,这些类称作包装类。
对象包装类(Object直接子类):Character、Boolean。
数值型包装类(Number直接子类):Byte、Short、Integer、Long、Float、Double。
关于Number类的定义:
Number是一个抽象类,里面一共定义了6个操作方法:intValue()、doubleValue()、floatValue()、byteValue()、shortValue()、longValue()。

装箱与拆箱操作

装箱操作:将基本数据类型变为包装类的形式;
每个包装类的构造方法都可以接收各自数据类型的变量;
拆箱操作:从包装中取出被包装的数据;
利用从Number类中继承而来的一系列xxxValue()方法完成。

例:使用int和Integer

public class Test1_1_5_11 {public static void main(String args[]){Integer obj=new Integer(10);	//将基本数据类型装箱(构造方法实例化)int temp=obj.intValue();	//将基本数据类型拆箱System.out.println(temp*2);	//数学计算}
}
//结果
//20

例:使用double和Double

public class Test1_1_5_11 {public static void main(String args[]){Double obj=new Double(10.2);	//装箱double temp=obj.doubleValue();	//拆箱System.out.println(temp*2);}
}
//结果
//20.4

例:自动装箱与自动拆箱

public class Test1_1_5_11 {public static void main(String args[]){Integer obj=10;		//自动装箱(直接装箱实例化)int temp=obj;		//自动拆箱obj++;System.out.println(temp*obj);}
}
//结果
//110

如果使用直接装箱实例化的方式,会使用同一块堆内存空间,而使用了构造方法实例化的包装对象,会开辟新的堆内存空间。故在进行包装类数据相等比较时,最可靠的方法是equals()。

利用Object类可以接收全部数据类型

流程:
1.基本数据类型
2.自动装箱(成为对象)
3.向上转型为Object

例:利用Object接收数据类型

public class Test1_1_5_11 {public static void main(String args[]){Object obj=10;	//先自动装箱后再向上转型,此时不能进行科学计算//Object不可能直接向下转型//所以要取出基本数据类型必须首先向下转型为指定的包装类int temp=(Integer)obj;	//向下变为Integer后自动拆箱System.out.println(temp*2);}
}
//结果
//20

数据类型转换

常用的将String数据类型变为基本数据类型的方法
Integer类:public static int parseInt(String s);
Double类:public static double parseDouble(String s);
Boolean类:public static boolean parseBoolean(String s);

例:将字符串变为int型数据

public class Test1_1_5_1 {public static void main(String args[]){String str="123";	//字符串int temp=Integer.parseInt(str);	//将字符串转换为int型数据System.out.println(temp*2);}
}
//结果
//246

注意:如果要将一个字符串数据变为数字,就必须保证字符串中定义的字符都是数字,如果出现了非数字的字符,那么转换就会出现异常。

例:将基本数据类型转换为String型数据

public class Test1_1_5_1 {public static void main(String args[]){int num=100;String str=String.valueOf(num);	//变为String型System.out.println(str.replaceAll("0","9"));}
}
//结果
//199

相关文章:

Java 多线程概述

多线程技术概述 1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间。线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换、并发执行,一个进程最少有一个线程&am…

nginx图片过滤处理模块http_image_filter_module安装配置笔记

http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽…

Centos7 安装 telnet 服务

准备写一个 django-webtelnet(运维管理系统集成后管理网络设备),但是手边没有现成的网络设备资源可以测试,那就研究下 Centos7 下安装 telnet-server 吧。 安装 yum -y install xinetd telnet telnet-server telnet-server 是以 x…

Zbrush制作手榴弹案例讲解学习教程

Sculpting In Zbrush- Project Grenade! MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:44节课(11h 43m) |大小解压后:11 GB 含课程素材 云桥网络…

Winform控件缩写

控件名称 缩写 Buttom按钮 Btn CheckBox复选框 Chk ColumnHeader视图列表头 Col ComboBox组合框 Cbo ContextMenu快捷菜单 Ctm DataGrid数据网格控件 Dg DataGridView数据网格视图控件 Dgv DteTimePicker时间输入框 Dtp DomainUpDown数值框 Dud Form窗体 …

Java习题:1

假设类X是类Y的父类,下列声明对象x的语句中不正确的是( )。 A.X xnew X(); B.X xnew Y(); C.Y xnew Y(); D.Y xnew X(); 答案:D 向下转型操作本身是有前提条件的,必须发生向上转型后才可以发生向下转型。 各个选项的代码实现: …

2022-2028年中国廉价航空行业深度调研及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国廉价航空行业市场行业相关概述、中国廉价航空行业市场行业运行环境、分析了中国廉价航空行…

【SSRS】入门篇(二) -- 建立数据源

原文:【SSRS】入门篇(二) -- 建立数据源通过 【SSRS】入门篇(一) -- 创建SSRS项目 这篇,我们建立了一个SSRS项目; 接下来,我们以 AdventureWorks2012 示例数据库,讲下如何建立数据源;(AdventureWorks2012 下载) 1、解决…

k8s相关的面试题

k8s相关的面试题 https://blog.csdn.net/huakai_sun/article/details/82378856 posted on 2019-07-30 20:33 竹径风声 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/girl1314/p/11272568.html

CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset

CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset 时长:9h 30m 含项目文件 1920X1080 MP4 语言:英语机译中文字幕 教程大小:4G 标题:Artstation–风格化游戏资产 云桥网络 获qu 教程 信息: 内容&a…

Java学习总结:17

包及访问控制权限 包的定义 在Java中使用package关键字来定义包,此语句必须写在xxx.java文件的首行。 例:定义包 package com.study.Demo; //定义程序所在包,此语句必须放在首行public class Hello {public static void main(String args[…

常用的网络配置命令 ifconfig 所在的包

通过rpm的数据库反查 ifconfig这个可执行文件的提供者,得出这个文件属于一个叫 net-tools 的包 转载于:https://www.cnblogs.com/vanwoos/p/4987375.html

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心…

'libxml/tree.h' file not found

本文转载至 http://www.cnblogs.com/hanjun/p/3711173.html 看看Header Search Paths 为 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/include/libxml2 看看Base SDK 为 ios 6.1 于是把Header Search Paths 该…

Spring Cloud 微服务实战笔记

Spring Cloud 微服务实战笔记 微服务知识 传统开发所有业务逻辑都在一个应用中, 开发,测试,部署随着需求增加会不断为单个项目增加不同业务模块;前端展现也不局限于html视图模板的形式,后端向前端支持需要更多的接口模块。 随着需求增多&…

UE商城资源 Kitsune狐狸女孩

Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Kitsune 4.26狐狸女孩 大小解压后:569M 可爱的Kitsune的3D模型。装配到史诗骷髅。完全模块化,包括无衣服的身体。包含不同的发型。通过材质实例轻松改变颜色。包含与Live Link Face应用程…

Java学习总结:18

认识异常 异常是程序中导致程序中断的一种指令流。 例:产生异常 package com.study.Demo;public class Test1 {public static void main(String args[]){System.out.println("1.除法计算开始");System.out.println("2.除法计算:"(…

java从字符串中提取数字

1、做一下操作时会一般会用到提取数字操纵: a、列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b、当新添加的数据放在第一条或者最后一条时,则不需要翻页,只需要直接进入…

2022-2028年中国联合办公行业深度调研及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国联合办公行行业市场行业相关概述、中国联合办公行行业市场行业运行环境、分析了中国联合办…

iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】

iBatis的sqlMap配置文件的selectKey元素有个type属性&#xff0c;可以指定pre或者post表示前生成(pre)还是后生成(post)。 Oracle设置 Xml代码 <!-- Oracle SEQUENCE --> <insert id"insertProduct-ORACLE" parameterClass"com.domain.Product&quo…

微信小程序----调用用户信息

在对应的文件夹里面的js里面添加代码&#xff0c;例如&#xff1a;index.js 代码开始/// onLoad: function () {var that this// 查看是否授权wx.getSetting({success(res) {if (res.authSetting[scope.userInfo]) {// 已经授权&#xff0c;可以直接调用 getUserInfo 获取头像…

在Blender中创建真实的汽车CGI视觉动画效果

Blender VFX Tutorial Rig & Animate a Realistic Car in Real 大小&#xff1a;1.18G 时长1h 包含项目文件 1280X720 MP4 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; Blender VFX教程绑定&动画真实的汽车 云桥网络 平台获取教程…

Java学习总结:19

throws关键字 throws关键字主要在方法定义上使用&#xff0c;表示此方法中不进行异常的处理&#xff0c;而是交给被调用处处理。 例&#xff1a;使用throws package com.study.Demo;class MyMath{public static int div(int x,int y)throws Exception{ //此方法不处理异常re…

C语言访问网页

一、理论 http://www.zixue7.com/thread-3860-1-1.html转载于:https://www.cnblogs.com/274914765qq/p/4996433.html

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版: /dl/zentao/docker/docker_zentao.zip 备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROO…

获取指定日期之间的各个周和月

2019独角兽企业重金招聘Python工程师标准>>> 日志格式化类 Date.class.php <?php class Datefmt{function __construct() {}/*** 根据指定日期获取所在周的起始时间和结束时间*/public function get_weekinfo_by_date($date) {$idx strftime("%u", s…

nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping

今天mybatis报了个错误 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{propertyInfoId, modeIN, javaTypeclass java.lang.Long, jdbcTypenull, numericSca…

Revit和Unreal Engine真实的建筑可视化视频教程

Revit和Unreal Engine真实的建筑可视化视频教程 Lynda – Revit and Unreal Engine: Real-Life Architectural Visualizations Lynda–Revit和Unreal Engine&#xff1a;真实的建筑可视化 时长 3小时 25分 | 1.15 GB |含项目练习文件|使用的软件&#xff1a;Revit&#xff0c…

Java学习总结:20

可变参数 语法形式&#xff1a; [public | protected | private][static][final][abstract] 返回值类型 方法名称(参数类型...变量){[return[返回值];] }例&#xff1a;使用可变参数定义方法 package com.study.Demo;public class Test6 {public static void main(String ar…

Axure 全局辅助线(转)

普通辅助线作用于当前页 全局作用于所有页面 , 包括新建页面 创建普通辅助线直接拉出来 创建全局辅助线 , 在拉出来的时候按住 Ctrl 默认情况下 , 颜色不同 辅助线可以多选 , 用拖选 或 按 ctrl 多选 多选后可以批量锁定等 转自&#xff1a;链接转载于:https://www.cnblogs.com…