1、深入理解Class类及其中的方法

获取Class类的方法:

1、调用Object类的getClass()方法来得到Class对象,这也是最常见的产生Class对象的方法。
2、使用Class类的中静态forName()方法获得与字符串对应的Class对象。例如:

Class c2=Class.forName("MyObject")  // MyObject必须是接口或者类的名字

3、获取Class类型对象的第三个方法非常简单。如果T是一个Java类型,那么T.class就代表了匹配的类对象。例如

Class cl1 = Manager.class;
Class cl2 = int.class;  // 注意这个
Class cl3 = Double[].class;

注意:Class对象实际上描述的只是类型,而这类型未必是类或者接口。例如上面的int.class是一个Class类型的对象。由于历史原因,数组类型的getName方法会返回奇怪的名字。

getClass()

clone()

hashCode()

equals()

notify()、notifyAll()、wait()

finalize() 在垃圾收集器删除对象之前对这个对象调用的

toString()

会对这几个问题有无数的小问题,如下:

1、为什么要覆写hashCode()方法,默认的不行吗?

2、深克隆与浅克隆?

3、何时需要重写equals()?

4、如何覆写equals()和hashCode()?

5、当改写equals()的时候,总是要改写hashCode()

6、两个对象如果equals那么这两个对象的hashcode一定相等,如果两个对象的hashcode相等那么这两个对象是否一定equals?

  

2、如何在运行时确定对象类型?

(1)使用instance of关键字 不过有个缺点,该类继承的基类和实现的接口也都能够被识别为true

(2)每个类都会有且只有一个对应Class的对象,我们正是用这个Class对象来实例化该类的所有对象的,也就是Class中的newInstance()方法。可以通过比较这个Class对象,如下:

 Object i = new Integer(7);
	    if (i.getClass().equals(Integer.class)) {
	        System.out.println("Integer i is a Integer");
	    }

	    if (i.getClass() == Integer.class) {
	        System.out.println("Integer i is a Integer");
	    } 

	    if(Integer.class.isInstance(i)){
	    	System.out.println("Integer i is a Integer");
	    }

也可以直接通过getClass()方法的getName()来输出名称。

3、关于随机数生成的类Random

public int nextInt(int n)

该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

4、SimpleDateFormat在并发量高的环境下访问会有什么问题?

会有多线程问题,可能造成异常、线程挂起等,主要原因就是使用了成员变量而引起的资源争用。

解决的办法就是使用ThreadLocal。

Java面试08|Java重要的类和相关的方法的更多相关文章

  1. Java中是否可以调用一个类中的main方法?

    前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...

  2. [Java面试二]Java基础知识精华部分.

    一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...

  3. Java面试大纲-java面试该做哪些准备,java开发达到这样的水平可以涨工资

    Java培训结束,面临的就是毕业找工作.在找工作时,就要针对性地做充分的面试准备.准备不充分的面试,完全是浪费时间,更是对自己的不负责. 上海尚学堂Java培训整理出Java面试大纲,其中大部分都是面 ...

  4. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779                               ...

  5. 【Java面试】java基础篇

    总结个人的面试经历以及一些网上的的面试题,以供以后面试与巩固java基础. 1.String.StringBuilder和StringBuffer的区别 String用于存储不可变字符串的类,Stri ...

  6. Java面试之Java基础问题答案口述整理

    Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用 ...

  7. java处理高并发高负载类网站的优化方法

    java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF ...

  8. java面试2(java技术栈和Hollis面试内容分享)

    1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...

  9. Java面试系列--java基础

    Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...

随机推荐

  1. JQuery flot API文档 中文版

    调用plot函数的方法如下: var plot = $.plot(placeholder, data, options) 其 中placeholder可以是JQuery的对象,DOM元素或者JQuer ...

  2. win8 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法

    1)安装Oracle 11g 64位2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载 instantclient-basic-win ...

  3. 照片提取GPS 转成百度地图坐标

    感谢: 小慧only http://www.cnblogs.com/zhaohuionly/p/3142623.html  GPS转化坐标方法 大胡子青松 http://www.cnblogs.com ...

  4. 字符串匹配KMP算法中Next[]数组和Nextval[]数组求法

    数据结构课本上给了这么一段算法求nextval9[]数组 int get_nextval(SString T,int &nextval[ ]) { //求模式串T的next函数修正值并存入数组 ...

  5. Xcode版本太低引发的bug,xcode各种版本下载方式详解

    问题描述: mac系统10.9.5 .之前用的xcode 是5.1.接sdk时,一直报错,编译不过去.最后发现原因是xcode版本太低导致的. 于是去网上找xcode历史版本下载.因为系统版本原因,我 ...

  6. HTML5和CSS3

    一.HTML5 HTML5 是 HTML 标准的最新演进版本. 这个术语代表了两个不同的概念:它是一个新的 HTML 语言版本包含了新的元素,属性和行为,同时包含了一系列可以被用来让 Web 站点和应 ...

  7. [CSS3] 学习笔记-选择器详解(二)

    1.选择器first-child.last-child.nth-child和nth-last-child 利用first-child.last-child.nth-child和nth-last-chi ...

  8. js 全选/取消

    平时常用一个小功能 var check_all = document.getElementsByName('student_box'); var check_flag = true; function ...

  9. 在点击div中的p时,如何阻止事件冒泡?

    今天整理笔记,发现在学习javaScript的过程中,遇到过一个在当时看来很棘手的问题,现在特地总结一下,也希望能帮助到曾像我一样迷惘的初学者. 我还是以一个案例来说明问题,html代码如下: < ...

  10. Mysql数据库连接查询

                                    Mysql数据库连接查询 连接是关系数据库模型的主要特点.连接查询是关系数据库中最主要的查询,主要包括内连接.外连接等.通过连接运算可以 ...