java学习之面试题3
来源:互联网 发布:淘宝80字通用好评 编辑:程序博客网 时间:2024/05/20 22:35
答:(1):对于基本数据类型,只能使用"==";
(2):对于引用类型,使用"=="相当于比较两边的对象是否是同一个对象,使用equals方法相当于比较两个对象的内容是否一致。例如:
String str1 = new String("I love java");
String str2 = new String("I love java");
System.out.prinln(str1 == str2);//false,因为str1和str2分别引用了不同的对象。
System.out.println(str1.equals(str2));//true,因为str1和str2,它们所引用的对象里面的内容一样。
(3):对于自定义的类,系统默认是继承了Object的equals方法,而这个默认的方法就是使用了==操作符,也就是判断两个引用变量引用的是否是同一个对象,这个时候使用==和使用equals得到的结果是相同的。所以,一般应用中都要重写equals方法。
2、静态变量和实例变量的区别?
答:(1):静态变量和实例变量都是类的成员变量,在语法上,静态变量前要加static,而实例变量前不加。
(2):实例变量属于对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量,它必须通过实例变量来引用。
(3):静态变量属于类,它不属于某个实例对象,只要程序加载了类的字节码,静态变量就会被分配空间,它可以直接使用类名来引用。
例如:
3:是否可以从一个static方法内部发出对非static方法的调用?
答:不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用式不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何的实例对象,如果从一个static方法中发出对非static方法的调用,那么非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以一个static方法内部不可以直接调用非static方法。
4:Integer与int的区别?
答:(1):int是java提供的8种基本类型之一,Integer是java为int提供的包装类。
(2):int的默认值是0,Integer的默认值是null。也就是说,Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0,则只能选择Integer。
(3):Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数最大值和最小值的常量。
5:Math.round(11.5)等于多少?Math.round(-11.5)等于多少?
答:round方法,表示“四舍五入”,算法为Math.floor(x + 0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果是-11。
顺便提一句,Math类中提供了三个与取整有关的方法:floor、ceil、round。其中,floor是向下取整,所以,Math.floor(11.5)的结果是11.0,Math.floor(-11.5)的结果是-12.0。ceil是向上取整,所以,Math.ceil(11.5)的结果是12.0,Math.ceil(-11.5)的结果是-11.0。
- java学习之面试题3
- Java学习之java面试题集
- JAVA学习之面试题2
- java学习之面试题4
- java学习之面试题5
- 记录自已学习之面试题3
- Java学习之——JAVA面试题集
- 线程学习之面试题
- Java学习笔-----------面试题
- JAVA面试题之集合
- JAVA面试题之线程
- 面试题之java基础
- Java面试题之二
- Java面试题之三
- Java面试题之四
- Java面试题之五
- Java面试题之六
- Java面试题之七
- 终于看到一点点进步
- Hive优化总结
- 拒绝光敲族,拒绝文盲族,看一下.NET前世与今生……
- CButton拖动调整大小
- Linux下系统性能检测利器dstat
- java学习之面试题3
- 【抱怨+幻想!=成功】
- CSDN如何删除上传的资源(删除规则)
- error:最基本的c语言格式错误。掌握一点儿都不扎实
- Linux的watch命令--实时监测命令的运行结果
- XML_Pull解析(1)
- Side Project - 愛羽球 提交了一个新版本
- Java模式设计之单例模式(四)
- Linux英文环境下的中文输入