一:java反射机制的原理
java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法,这种动态获取节点信息以及动态调用对象的方法的功能称为java语言的反射机制
二:静态嵌套类和内部类的不同
1.静态的内部类称为嵌套类,嵌套类不能直接引用外部的non-static属性和方法,创建嵌套类对象时不依赖外部类对象
2.静态内部类没有了指向外部的引用,和c++的嵌套类很相像,java内部类和c++嵌套类最大的不同在于是否具有指向外部引用这点
3.在任何非静态内部类中,都不能有静态数据,静态方法或者一个静态内部类,然后静态内部类可以拥有这一切
三:如何将string类型转化成number类型
integerr类的valueof方法可以将string转换成number
四:什么是值传递和引用传递
对象被值传递,意味着传递了一个对象的副本,因此,就算改变了对象副本,也不会影响源对象的值
对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变会反映到所有的对象上
五:java的访问修饰符是什么
在java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性
public是公共的,被public所修饰的成员可以在任何类中都能被访问到
protected是受保护的,受到该类所在的包所保护
friendly是友好的,即在成员的前面不写任何的访问修饰符的时候,默认就是友好的,所谓友好的,是对同一package的类友好
private 是私有的,即只能在当前类中被访问到,它的作用域最小
六:java的基础数据类型有哪些
byte(字节)short(短整型)int(整形)long(长整型)float(浮点型)double(双精度)char(字符型)Boolean(布尔型)
七:hascode()和equals()方法的重要性体现在什么地方
java中的hashmap使用hashcode和equals方法来确定键值对的索引,当根据键获取值的时候也会用到这俩个方法。如果没有正确的实现这俩个方法,俩个不同的键可能会有相同的hash值,因此可能会被集合认为是相等的。
八:Switch中用于判断的表达式,可以用哪些数据类型
1int
2cha
3byte
4short
5枚举
6string
九:char型变量中能不能存储一个中文汉字?为什么?
java里采用Unicode编码格式,Unicode编码中一个char型占用俩个字节,而一个汉字也是占用俩个字节,所以可以存储中文汉字
十:静态变量和实例变量的区别
语法定义时区别:静态变量前要加static关键字,而实例变量前则不加
程序运行时区别:实例变量必须创建对象后才可以通过这个对象类使用,静态变量则可以直接使用类名来引用