在我们准备一些复习的题目时,作为java的其中一个重要考点,面向对象的地位,想必大家都很清楚。作为一个容易出现在面试题中的模块,在准备工作的基础知识点整理是很有必要的。本篇对于一些常见的面向对象的考题进行罗列,除了基础的知识点,还有一些使用时机上的题目,大家一起看看能否全部答出。
1.Java的”一次编写,处处运行”是如何实现的
Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平台独立的。
2.集合的作用是什么
数据的传送 增、删、改、查、constainsAll,可以存放不同类型的对象。
3.重载与重写的区别
重载发生在同一个类,不同的方法里面。 重写发生在父子类中,参数完全相同的方法里面。
重载参数不同,而重写参数相同且返回类型相同。
方法名相同,重写override是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。
4.什么时候应用带参构造函数
当需要对对象进行一次性的初始化时,可使用带参的构造函数。
父类拥有带参的构造时,子类继承父类,子类需编写带参数构造函数,并调用父类构造函数。
5.为什么Java里没有全局变量
答案:全局变量是全局可见的,Java不支持全局可见的变量,因为:全局变量破坏了引用透明性原则。全局变量导致了命名空间的冲突。
6.super()与 this()的区别
This():当前类的对象,super 父类对象。
Super():在子类访问父类的成员和行为,必须受类继承规则的约束
而 this 他代表当前对象,当然所有的资源都可以访问。
在构造函数中,如果第一行没有写 super(),编译器会自动插入。但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用 private 修饰)。此时你必须加入对父类的实例化构造.而 this 就没有这个要求,因为它本身就进行实例化的构造。
而在方法中 super 和 this 使用的方法就差不多了.只不过 super 要考虑是否能访问其父类的资源。
以上就是java面向对象面试题的考点整理,相信大家已经对基础的面向对象知识点掌握的不错,如果有一些使用上不够明晰的地方,可以在课后查询资料进行补充。更多Java试题指路:java面试题