Java简单笔试题(四)
2017-05-01 22:49
218 查看
1.Comparable和Comparator接口是干什么的?列出他们的区别
2.JDK和JRE的区别?
3.Java支持多继承么?
4.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
5.什么是值传递和引用传递?
参考答案:
一、Comparable和Comparator的作用和区别: 它们都是接口,是用来对自定义的类进行比较大小的。在使用Collections.sort( )对自定义类进行排序时,自定义类就要实现这两个接口。 区别:Comparable接口是定义在类的内部,即类需要实现这个接口,然后覆盖compareTo(自定义类)方法。而Comparator是定义在类的外部,需要新建一个类,实现Comparator接口,覆盖compare(自定义类 对象1,自定义类 对象2)方法。
参考:
http://www.cnblogs.com/sunflower627/p/3158042.html http://bbs.itheima.com/forum.php?mod=viewthread&tid=220260 http://blog.csdn.net/mageshuai/article/details/3849143
二、JDK和JRE的区别是: Java运行环境(JRE)是指即将执行Java程序的Java虚拟机。它还包括了执行applet程序的浏览器插件。Java开发工具包(JDK)是完整的Java开发工具包,包含了JRE,编译器和其它开发工具(比如:JavaDoc,Java调试器),为开发者提供了开发,编译,执行程序的功能。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21070&query=&asc=true&order=&page=2
三、Java支持多继承么?
Java的类不支持多继承,支持单继承。但是Java的接口支持多继承,即支持一个接口继承多个接口。接口的作用是用来拓展对象的功能,继承一个接口意味着多拓展了一个功能。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21076&query=&asc=true&order=&page=8
四、Java中的方法覆盖(Overriding)和方法重载(Overloading):
Java方法重载是指在同一个类中,或者子类和父类之间两个或者两个以上的方法之间出现方法名相同,参数列表不同的情况。对访问修饰符方面并没有要求。
Java的方法覆盖是指发生在子类和父类之间,子类重新实现父类的方法的情况,除了访问修饰符,其它必须相同。但是在访问修饰符权限方面,子类不能小于父类。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21074&query=&asc=true&order=&page=6
http://blog.csdn.net/fsz521/article/details/8739236
五、值传递和引用传递:
值传递一般是对于基本数据类型而言,传递的是变量的副本,副本变量的改变不会影响原有变量。
引用传递一般是对于对象变量而言,传递的是对象的地址,所以在引用变量改变的时候,原有变量也会改变。基本类型的数组变量也是对象变量,符合引用传递。
总结:所以说Java内的传递只有值传递。
注意:String类的实例变量有点特殊,在传递的时候是传递变量值的副本,不影响原有变量。主要是因为String类是有final修饰的,其值不可变。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21078&query=&asc=true&order=&page=10
http://guhanjie.iteye.com/blog/1683637
注意区分对象和对象引用:
http://zwmf.iteye.com/blog/1738574
2.JDK和JRE的区别?
3.Java支持多继承么?
4.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
5.什么是值传递和引用传递?
参考答案:
一、Comparable和Comparator的作用和区别: 它们都是接口,是用来对自定义的类进行比较大小的。在使用Collections.sort( )对自定义类进行排序时,自定义类就要实现这两个接口。 区别:Comparable接口是定义在类的内部,即类需要实现这个接口,然后覆盖compareTo(自定义类)方法。而Comparator是定义在类的外部,需要新建一个类,实现Comparator接口,覆盖compare(自定义类 对象1,自定义类 对象2)方法。
参考:
http://www.cnblogs.com/sunflower627/p/3158042.html http://bbs.itheima.com/forum.php?mod=viewthread&tid=220260 http://blog.csdn.net/mageshuai/article/details/3849143
二、JDK和JRE的区别是: Java运行环境(JRE)是指即将执行Java程序的Java虚拟机。它还包括了执行applet程序的浏览器插件。Java开发工具包(JDK)是完整的Java开发工具包,包含了JRE,编译器和其它开发工具(比如:JavaDoc,Java调试器),为开发者提供了开发,编译,执行程序的功能。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21070&query=&asc=true&order=&page=2
三、Java支持多继承么?
Java的类不支持多继承,支持单继承。但是Java的接口支持多继承,即支持一个接口继承多个接口。接口的作用是用来拓展对象的功能,继承一个接口意味着多拓展了一个功能。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21076&query=&asc=true&order=&page=8
四、Java中的方法覆盖(Overriding)和方法重载(Overloading):
Java方法重载是指在同一个类中,或者子类和父类之间两个或者两个以上的方法之间出现方法名相同,参数列表不同的情况。对访问修饰符方面并没有要求。
Java的方法覆盖是指发生在子类和父类之间,子类重新实现父类的方法的情况,除了访问修饰符,其它必须相同。但是在访问修饰符权限方面,子类不能小于父类。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21074&query=&asc=true&order=&page=6
http://blog.csdn.net/fsz521/article/details/8739236
五、值传递和引用传递:
值传递一般是对于基本数据类型而言,传递的是变量的副本,副本变量的改变不会影响原有变量。
引用传递一般是对于对象变量而言,传递的是对象的地址,所以在引用变量改变的时候,原有变量也会改变。基本类型的数组变量也是对象变量,符合引用传递。
总结:所以说Java内的传递只有值传递。
注意:String类的实例变量有点特殊,在传递的时候是传递变量值的副本,不影响原有变量。主要是因为String类是有final修饰的,其值不可变。
参考:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21078&query=&asc=true&order=&page=10
http://guhanjie.iteye.com/blog/1683637
注意区分对象和对象引用:
http://zwmf.iteye.com/blog/1738574
相关文章推荐
- java笔试简单题(一)
- Java简单笔试题(二)
- 分享3道简单但实用的Java笔试题
- Java简单笔试题(三)
- Java简单笔试题(一)
- JAVA枚举的一道简单的笔试题
- 基于Java实现简单Http服务器之一
- 应聘Java笔试时可能出现问题及其答案
- java(j2ee)应用-简单自定义标签开发全过程----之一(Inber)
- 用java实现简单的email正则表达式判断
- 简单的招聘java程序员的文档,由于公司成本限制只能招聘实习工程师,所以只能考这些东西
- 今天的问题:一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
- Java笔试时可能出现问题及其答案
- 应聘Java笔试时可能出现问题及其答案
- java笔试题
- Java的简单类型进行精确的浮点数运算
- Java中线程池简单构建
- 使用Java实现对dbf文件的简单读写
- 一个最简单的java程序
- JAVA/JSP学习系列之十一(简单的“抓网页”代码)