1、&和&&的区别?
答:
- &和&&都可以用作逻辑与的运算符,即当运算符左右两边同时为true时,整个运算结果才为true。否则,只要左边或右边有一方为false,则运算结果为false。
- 而&&具有短路功能,即如果左边的表达式为false,则不再计算右边的表达,运算结果为false。
- 位运算符
2、==和equals方法的区别?
答:
- ==的用处
基础数据类型:比较的是两者的“值”
引用数据类型:比较的是两者的“地址” - equals的用处
所有类都继承了Object类,其中有一个equals方法,如果类没有重写equals方法,则默认使用object类中的方法定义,即比较对象的地址。
3、静态变量和实例变量的区别?
答:
- 语法定义:静态变量前要加static关键字
- 程序运行时的区别:
实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,这个实例变量才能被使用。
静态变量不属于某个实例变量,而是属于类,所以也称为类变量。只要加载了类的字节码,不用创建任何实例变量,静态变量就会被分配内存空间,静态变量就可以使用了。
总的来说,实例变量必须创建对象后才能通过这个对象来调用,而静态变量则可以通过类名直接调用。