Java基础面试题(3篇).docx
《Java基础面试题(3篇).docx》由会员分享,可在线阅读,更多相关《Java基础面试题(3篇).docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Java基础面试题(3篇) 第一,谈谈final, finally, finalize的区分。 final?修饰符(关键字)假如一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被转变。被声明为final的变量必需在声明时给定初值,而在以后的引用中只能读取,不行修改。被声明为final的方法也同样只能使用,不能重载 finally?再特别处理时供应 finally 块来执行任何去除操作。假如抛出一个特别,那么相匹配的 catch 子句就会执行,然
2、后掌握就会进入 finally 块(假如有的话)。 finalize?方法名。Java 技术允许使用 finalize 方法在垃圾收集器将对象从内存中去除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object类中定义的,因此全部的类都继承了它。子类掩盖 finalize 方法以整理系统资源或者执行其他清理工作。finalize 方法是在垃圾收集器删除对象之前对这个对象调用的。 其次,HashMap和Hashtable的区分。 都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null
3、 键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,由于它是同步的。 第三,String s = new String(xyz);创立了几个String Object? 两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 第四,sleep 和 wait 有什么区分? 搞线程的最爱 sleep方法是使线程停顿一段时间的方法。在sleep 时间间隔期满后,线程不肯定马上恢复执行。这是由于在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级 (b)正在运
4、行的线程由于其它缘由而堵塞。 wait是线程交互时,假如线程对一个同步对象x 发出一个wait调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。 第五,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。 第六,Overload和Override的区分。Overloaded的方法是否可以
5、转变返回值的类型? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。假如在子类中定义某方法与其父类有一样的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义犹如被“屏蔽”了。假如在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以转变返回值的类型。 第七,Set里的元素是不能
6、重复的,那么用什么方法来区分重复与否呢? 是用=还是equals? 它们有何区分? Set里的元素是不能重复的,那么用iterator方法来区分重复与否。equals是判读两个Set是否相等。 equals和=方法打算引用值是否指向同一对象equals在类中被掩盖,为的是当两个分别的对象的内容和类型相配的话,返回真值。 第八,error和exception有什么区分? error 表示恢复不是不行能但很困难的状况下的一种严峻问题。比方说内存溢出。不行能希望程序能处理这样的状况。 exception 表示一种设计或实现问题。也就是说,它表示假如程序运行正常,从不会发生的状况。 第九,给我一个你最
7、常见到的runtime exception。 ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitor
8、StateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, Syst
9、emException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException 第十,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用=还是equals? 它们有何区分? Set里的元素是不能重复的,那么用iterator方法来区分重复与否。equals是判读两个Set是否相等。 equals和=方法打算引用值是否指向同一对象equals在类中被掩盖,为的是当两个分别的对象的内容和类型相配的话,返回真值。 经典Java根底面试题 篇二 1、假如main方法被声
10、明为private会怎样? 能正常编译,但运行的时候会提示”main方法不是public的”。 2、Java里的传引用和传值的区分是什么? 传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。 3、假如要重写一个对象的equals方法,还要考虑什么? hashCode。 4、Java的”一次编写,到处运行”是如何实现的? Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平立的。 5、说明一下public static void main(String args)这段声明里每个关键字的作用。 public: main方法是Java程序运行时
11、调用的第一个方法,因此它必需对Java环境可见。所以可见性设置为pulic. static: Java平台调用这个方法时不会创立这个类的一个实例,因此这个方法必需声明为static。 void: main方法没有返回值。 String是命令行传进参数的类型,args是指命令行传进的字符串数组。 6、=与equals的区分 =比拟两个对象在内存里是不是同一个对象,就是说在内存里的存储位置全都。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方。 =比拟的是引用而equals方法比拟的是内容。public boolean equals(Object obj) 这个方法是由Obj
12、ect对象供应的,可以由子类进展重写。默认的实现只有当对象和自身进展比拟时才会返回true,这个时候和=是等价的。String, BitSet, Date, 和File都对equals方法进展了重写,对两个String对象 而言,值相等意味着它们包含同样的字符序列。对于根本类型的包装类来说,值相等意味着对应的根本类型的值一样。 7、假如去掉了main方法的static修饰符会怎样? 程序能正常编译。运行时会抛NoSuchMethodError特别。 8、为什么oracle type4驱动被称作瘦驱动? oracle供应了一个type 4 JDBC驱动,被称为瘦驱动。这个驱动包含了一个oracl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 试题
限制150内