目录

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基础(一)

最新文章

  1. (转)Intent flag 与启动模式的对应关系
  2. this 的工作原理
  3. 导航position:absolute
  4. Communication - 02.Call U
  5. 数据库收缩:NOTRUNCATE与TRUNCATEONLY
  6. Mockups
  7. vs 中无法加载项目的解决方案
  8. set gameobject Icons by Script
  9. Codeforces Educational Codeforces Round 3 B. The Best Gift 水题
  10. HDU -2524 矩形A + B
  11. http常见的get请求方式和set请求方式。
  12. nordic DFU固件升级
  13. java加解密
  14. Apollo单向SSL认证(1)
  15. 使用bcftools提取指定样本的vcf文件(extract specified samples in vcf format)
  16. VS2012里面使用EF框架的增删改查和分页的方法
  17. 博主退役了qwq
  18. 2018-2019-2 20162318《网络对抗技术》Exp4 恶意代码分析
  19. 非IT人士的云栖酱油之行 (程序猿迷妹的云栖之行)
  20. Android弹出Dialog使用举例

热门文章

  1. 数组的高阶方法map filter reduce的使用
  2. 基于 vue-cli 的 lib-flexible 适配
  3. NSMutableArray-->NSString
  4. springboot优雅实现异常处理
  5. spring mvc访问html页面404报错解决
  6. 深度解析Spring Cloud Ribbon的实现源码及原理
  7. Java中Date类型与String 类型之间的互相转换
  8. 【kafka学习笔记】合理安排broker、partition、consumer数量
  9. Mysql从头部署多个版本
  10. Kafka从入门到放弃(三) —— 详说生产者