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常用类和方法重点总结相关推荐

  1. java常用类的方法,java常用类的使用方法

    java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...

  2. Java SE有几个代码_JavaSE常用类及方法的介绍(附代码)

    本篇文章给大家带来的内容是关于JavaSE常用类及方法的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.基本数据类型比较用:== 2.引用数据类型比较用:equal ...

  3. java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO

    Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...

  4. 返回值 包装类_(九)Java常用类

    (九)Java常用类 String类 概述 /*String:字符串,使用一对""来表示. * 1.String声明为final,不能被继承. * 2.String实现了Seria ...

  5. Java常用类(谷粒商城学习记录)

    Java常用类 谷粒商城学习记录 谷粒商城学习记录 谷粒商城学习记录 干嘛老是提示我与别人的文章相似呢?真的是我自己整理的啊啊啊 老是提示与这个文章相似 https://blog.csdn.net/c ...

  6. JavaEE基础第9章Java常用类

    第9章Java常用类 字面量的定义方式都是存在常量池中的,常量池中不会存储多个一样的字符串,在定义一个字符串的时候会先去常量池中找有没有存在的,有就将地址传过去,没有就新建. String字符串 概念 ...

  7. Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)

    Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...

  8. Java——String类的方法

    Java--String类的方法 String str1 = "abc" 与String str2 = new String("abc")有什么区别? 字符串常 ...

  9. java 类 函数,java常用类和函数

    JAVA中常用类的常用方法_计算机软件及应用_IT/计算机_专业资料.. JAVA 中常用类的常用方法 一. java.lang.Object 类 1. clone ()方法 创建并返回此对象的... ...

  10. 48 java常用类_10 _Calendar类

    48 java常用类_10 _Calendar类 Calendar提供了获取或设置各种日历字段的方法. 构造方法 : protected Calendar(); //由于修饰符是protected,所 ...

最新文章

  1. redis 常用配置
  2. [导入]在ASP.NET 2.0中使用样式、主题和皮肤
  3. s3c2440移植MQTT
  4. POJ-1724 深搜剪枝
  5. 理解Promise (2)
  6. Codechef SEAARC Sereja and Arcs (分块)
  7. 计算机视觉与深度学习 | 使用K均值聚类实现基于颜色的分割(matlab版)
  8. 排序中减治法算法伪代码_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)...
  9. java executequery,JDBC中的execute(),executeQuery()和executeUpdate()方法有什么区别?
  10. C# 利用反射动态将字符串转换成属性对应的类型值
  11. 总结目前做得好的新实体店,大致有如下几点
  12. UVA1091 WF4786 Barcodes【编码检查】
  13. Python进阶(四)Python中的异常
  14. Cause: the class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask was not found
  15. 如何在photoshop中应用3DLUT预设?ps怎么安装.3dl、.look、.cube预设?
  16. 微信小程序考勤签到管理系统+后台管理系统
  17. 图像工作回顾之七:人脸姿态估计
  18. 一些常用软件安装包及安装过程(一般是经过亲测的,持续更新)
  19. Ubuntu 下 Pytorch, Tensorflow 对应的Python、英伟达显卡驱动、CUDA、CUDNN版本与环境信息查看方法
  20. 盘点最令人难忘的十大谍战剧经典

热门文章

  1. pc android 凤凰,PC上玩安卓,选凤凰系统还是模拟器?
  2. 手机电脑自适应导航源码php,自适应各终端懒人网址导航源码 v2.4
  3. java 日期转中文_java年月日转中文
  4. 铁路售票系统_城轨交通地高铁车站自动售检票(AFC)实训系统解决方案
  5. 分布式日志收集解决方案ELK
  6. testbench的设计
  7. 全国OA系统下载 (转)
  8. python网络蜘蛛
  9. 洗车香波行业调研报告 - 市场现状分析与发展前景预测
  10. AutoSar软件文档阅读