Java简单笔试题(四)

10 篇文章 0 订阅
5 篇文章 0 订阅

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值