Java常用类和方法重点总结
2015年12月20日18:25:21
Java常用类和方法重点总结
作者:数据分析玩家
1、简述Java中内存分配的问题
1>凡是new()出来的东西,都是在堆中进行分配的
2>局部变量【数据类型+变量名】都是在栈中进行分配的
3>静态变量【static】和字符串常量【“String”】都是在数据区进行分配的
4>方法【代码】都是在代码区进行存放的
2、简述Java中Object类的地位
1>Java中所有的类【自己定义的类以及Sun公司提供的类】都默认自动继承了Object类
2>Java中所有的类都从Object类中继承了toString()方法、hashCode()方法和equals()等方法
3、简述Object类中toString()方法的注意事项
1>toString()方法的返回值是一个字符串
2>toString()方法返回的是类的名字和该对象的哈希码组成的一个字符串,即toString()方法返回的是该对象的字符串表示形式
3>在Java中System.out.println(类对象名)实际输出的是该对象的toString()方法返回的字符串,即括号中的内容等价于类对象名.toString(),toString方法的好处是在碰到println方法的时候会被自动调用,不用显示的写出来
4>建议所有的子类都重写从Object类中继承过来toString方法,否则toString方法的返回值没有什么实际含义
4、简述Object类中equals()方法的注意事项
1>equals方法的返回值为true或false
2>Object类中equals方法只有在两个对象是同一块内存区域时,即不但内容相同、地址还必须相同时才返回true,否则即便内容相同、如果地址不同只会返回false
3>重写Object类中的equals方法目的在于:保证只要两个对象的内容相同,equals方法就返回true
5、简述Object类中hashCode()方法的注意事项
1>哈希码原本指的是内存空间地址的十六进制表示形式
2>hashCode()方法返回的是该对象的哈希码、即该对象的真实内存地址的十六进制表示形式,但是重写完hashCode()方法之后,返回的不再是该对象真实内存地址的十六进制表示形式
6、学习Java中toString方法、equals方法、hashCode方法共同的一个注意事项
在Java中,凡是动态分配的内存都是没有名字的,而是将其地址赋给一个指针变量【引用】,用指针变量去代表这个事物,所以引用和动态分配的内存有本质上的区别,但是在学习Java中的toString方法、equals方法和hashCode方法时默认引用和其指向的动态分配的内存是一个事物,不区分彼此
7、从逻辑上阐述为什么要重写equals方法和hashCode方法
1>对于用户来说,逻辑上只要两个对象的内容相同,其地址以及这两个对象就应该相等,而要保证地址相同就应该重写hashCode方法,而要保证对象相同就应该重写equals方法
2>凡是Java中自带的类都已经重写了equals方法和hashCode方法,重写之后只要两个对象的内容相同,hashCode方法的返回值就相同,保证地址相同,equals方法就返回true,保证两个对象是同一个对象,而Java中凡是用户自己定义的类只能自己去重写这两个方法
【new Integer(1)与new Integer(2)】
8、简述String类中的equals方法与Object类中的equals方法的不同点
String类中的equals方法是用来判断两个对象的内容是否相同、而Object类中的equals方法是用来判断两个对象是否是同一个对象,所谓同一个对象指的是内存中的同一块存储空间
9、对于Java中动态分配的内存来说,等号与equals方法的不同点
等号比较的是两个对象的地址而equals方法比较的是两个对象的内容,本质上比较的都是内存空间里面所存储的东西
10、简述Java中StringBuffer类的由来
String类对象表示不可修改的UniCode编码字符串、即String类对象一旦创建就不可在更改,即只要创建一个字符串,就会重新分配一块内存空间,因此如果经常对字符串的内容进行修改而使用String类的话,就会造成空间以及时间的浪费,因此如果经常对字符串的内容进行修改的话,可以使用StringBuffer类,StringBuffer类可以一直对同一块内存空间进行操作,对一个字符串不断的进行修改,正因为StringBuffer类的这个优点,所以StringBuffer类中存在着大量修改字符串的方法,但是String类中却没有
11、简述String、StringBuffer类中常用的一个方法
valueOf():将基本类型数据转化为字符串
12、简述String类与StringBuffer类的关联
1>先使用StringBuffer类将字符串的内容不断的进行修改、最后将成品放到String类里面去
2>StringBuffer类中的toString方法可以将String类对象转化为StringBuffer类对象
String str1 = str2.toString();
3>在Java中双引号括起来的字符串也可以被当做String类对象 如:“zhang”.length();
2015年12月20日20:04:03
Java常用类和方法重点总结相关推荐
- java常用类的方法,java常用类的使用方法
java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...
- Java SE有几个代码_JavaSE常用类及方法的介绍(附代码)
本篇文章给大家带来的内容是关于JavaSE常用类及方法的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.基本数据类型比较用:== 2.引用数据类型比较用:equal ...
- java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO
Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...
- 返回值 包装类_(九)Java常用类
(九)Java常用类 String类 概述 /*String:字符串,使用一对""来表示. * 1.String声明为final,不能被继承. * 2.String实现了Seria ...
- Java常用类(谷粒商城学习记录)
Java常用类 谷粒商城学习记录 谷粒商城学习记录 谷粒商城学习记录 干嘛老是提示我与别人的文章相似呢?真的是我自己整理的啊啊啊 老是提示与这个文章相似 https://blog.csdn.net/c ...
- JavaEE基础第9章Java常用类
第9章Java常用类 字面量的定义方式都是存在常量池中的,常量池中不会存储多个一样的字符串,在定义一个字符串的时候会先去常量池中找有没有存在的,有就将地址传过去,没有就新建. String字符串 概念 ...
- Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)
Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...
- Java——String类的方法
Java--String类的方法 String str1 = "abc" 与String str2 = new String("abc")有什么区别? 字符串常 ...
- java 类 函数,java常用类和函数
JAVA中常用类的常用方法_计算机软件及应用_IT/计算机_专业资料.. JAVA 中常用类的常用方法 一. java.lang.Object 类 1. clone ()方法 创建并返回此对象的... ...
- 48 java常用类_10 _Calendar类
48 java常用类_10 _Calendar类 Calendar提供了获取或设置各种日历字段的方法. 构造方法 : protected Calendar(); //由于修饰符是protected,所 ...
最新文章
- redis 常用配置
- [导入]在ASP.NET 2.0中使用样式、主题和皮肤
- s3c2440移植MQTT
- POJ-1724 深搜剪枝
- 理解Promise (2)
- Codechef SEAARC Sereja and Arcs (分块)
- 计算机视觉与深度学习 | 使用K均值聚类实现基于颜色的分割(matlab版)
- 排序中减治法算法伪代码_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)...
- java executequery,JDBC中的execute(),executeQuery()和executeUpdate()方法有什么区别?
- C# 利用反射动态将字符串转换成属性对应的类型值
- 总结目前做得好的新实体店,大致有如下几点
- UVA1091 WF4786 Barcodes【编码检查】
- Python进阶(四)Python中的异常
- Cause: the class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask was not found
- 如何在photoshop中应用3DLUT预设?ps怎么安装.3dl、.look、.cube预设?
- 微信小程序考勤签到管理系统+后台管理系统
- 图像工作回顾之七:人脸姿态估计
- 一些常用软件安装包及安装过程(一般是经过亲测的,持续更新)
- Ubuntu 下 Pytorch, Tensorflow 对应的Python、英伟达显卡驱动、CUDA、CUDNN版本与环境信息查看方法
- 盘点最令人难忘的十大谍战剧经典