Java实习生常规技术面试题每日十题Java基础(二)
目录
1. JAVA 的反射机制的原理。
2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
3.如何将String类型转化成Number类型。
4.什么是值传递和引用传递?
5.Java的访问修饰符是什么?
6.Java 基础数据类型有哪些?
7.hashCode()和equals()方法的重要性体现在什么地方?
8.switch 中用于判断的表达式,可以用哪些数据类型?
9. char型变量中能不能存贮一个中文汉字?为什么?
10.静态变量和实例变量的区别?
1. JAVA 的反射机制的原理。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
内部类是类中类(内部类不为同一包的其他类可见,具有很好的封装性),分为静态内部类,成员内部类,局部内部类以及匿名内部类;局部内部类写在方法里面;用到最多的就是匿名内部类。
1. 静态的内部类称为嵌套类,嵌套类不能直接引用外部类的non-static属性和方法,创建嵌套类对象时不依赖外部类对象;
2. 静态内部类没有了指向外部的引用,和C++的嵌套类很相像了,Java内部类和C++嵌套类最大的不同在于是否具有指向外部引用这点;
3. 在任何非静态内部类中,都不能有静态数据、静态方法或者又一个静态内部类(也就是不止一层),然后静态内部类可以拥有这一切。
3.如何将String类型转化成Number类型。
Integer类的valueOf方法可以将String转成Number
4.什么是值传递和引用传递?
对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。
对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。
5.Java的访问修饰符是什么?
在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性。
public是公共的,被public所修饰的成员可以在任何类中都能被访问到。
protected是受保护的,受到该类所在的包所保护。
friendly是友好的,即在成员的前面不写任何的访问修饰符的时候,默认就是友好的。所谓友好的,是对同一package的类友好。
private是私有的,即只能在当前类中被访问到,它的作用域最小。
6.Java 基础数据类型有哪些?
byte(字节) short(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char(字符型) boolean(布尔型)
7.hashCode()和equals()方法的重要性体现在什么地方?
Java中的HashMap使用hashCode()和equals()方法来确定键值对的索引,当根据键获取值的时候也会用到这两个方法。如果没有正确的实现这两个方法,两个不同的键可能会有相同的hash值,因此,可能会被集合认为是相等的。而且,这两个方法也用来发现重复元素。所以这两个方法的实现对HashMap的精确性和正确性是至关重要的。
8.switch 中用于判断的表达式,可以用哪些数据类型?
1. int
2.char
3.byte
4.short
5.枚举
6. String: PS:对JDK版本有要求,必须为1.7及以上版本
9. char型变量中能不能存贮一个中文汉字?为什么?
Java里采用了Unicode编码格式,Unicode编码中一个char型占用2个字节,而一个汉字也是占用2个字节,所以可以存储中文汉字。
备注:C语言里,char占用1个字节,不用存汉字。
10.静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
其他面试题:
Java实习生常规技术面试题每日十题Java基础(八)
Java实习生常规技术面试题每日十题Java基础(七)
Java实习生常规技术面试题每日十题Java基础(六)
Java实习生常规技术面试题每日十题Java基础(五)
Java实习生常规技术面试题每日十题Java基础(四)
Java实习生常规技术面试题每日十题Java基础(三)
Java实习生常规技术面试题每日十题Java基础(二)
Java实习生常规技术面试题每日十题Java基础(一)
Java实习生常规技术面试题每日十题Java基础(二)相关推荐
- Java实习生常规技术面试题每日十题Java基础(七)
目录 1. Java设计模式有哪些? 2.GC是什么?为什么要有GC? 3. Java中是如何支持正则表达式. 4.比较一下Java和JavaSciprt. 5.Math.round(11.5) 等于 ...
- Java实习生常规技术面试题每日十题Java基础(八)
目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Java实习生常规技术面试题每日十题Java基础(五)
目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(一)
目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(三)
目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...
- 【华为认证-每日十题】HCNP-RS-IENP(31-40)【问】
为了达到学习的目的,每日十题栏目的详解将不再直接公布,由各位学习在评论区问出不懂得问题,也可以直接联系邮箱hubw001@163.com.欢迎各位来信交流. 真的不是藏私,只是直接发布一些结果,就是应 ...
- java弱引用怎么手动释放,十分钟理解Java中的弱引用,十分钟java引用
十分钟理解Java中的弱引用,十分钟java引用 本篇文章尝试从What.Why.How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义.基本使用场景和使用方法.由于个人水平有限 ...
最新文章
- Linux command: ps -ef |grep java
- 关于css的float
- css3鼠标果果变手型代码_css3 鼠标悬浮动画效果
- 携程elong相继牵手支付宝转“危”为“机”
- Codeforces Round #703 (Div. 2) 题解
- 利用mysql5.6 的st_distance 实现按照距离远近排序。 (转载)
- PHP手册总结《预定义变量》
- 我拿什么拯救你,混乱的思维?不如试试这3款神器
- 实验题目用正交多项式做小二乘曲线拟合
- git 为什么不能断点_Git 2.29 让 Git 成功“牵手”Gerrit
- 20190109每日一句
- python利用经纬度画地图_使用Python实现画一个中国地图
- 【微信页面】移动端微信页面禁止字体放大
- 友华pt622g说明书_友华通信电信光猫 双口光纤猫PT622 这个可以设置无线吗
- 安卓WebView 屏蔽所有类型JS弹窗
- “没拿到一毛钱股份的老公”刷爆朋友圈 吃瓜群众雾里看花
- 比较两个记事本文件内容的差异
- 三分钟解决文档编辑难题-【文档编辑命令- cat echo vi/vim tail rmdir 】
- node-sass报错
- Unity游戏帧同步技术分享篇【01】帧同步解决方案概述