欢迎来到天天文库
浏览记录
ID:56059902
大小:52.00 KB
页数:14页
时间:2020-03-15
《开目内部JAVA面试题库.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1章技术相关1.1.JAVA基础1.1.1.equals和==有什么区别?分别比较的是什么?equals比较的是两个对象的内容==比较的是对象引用1.1.2.抽象类中,可以定义静态变量吗?可以,但抽象方法不能为static。1.1.3.public,private,protected,default作用范围当前类同一包子类其他包public√√√√protected√√√friendly(default)√√private√1.1.4.重写(override)和重载(overload)的区别方法的重写Overriding和重载Overload
2、ing是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。1.1.5.set里面的元素能不能重复Set里的元素是不能重复的1.1.6.runtimeexcept
3、ion举例常用的有ClassCastException,NullPointException,IllegalArgumentException,IndexOutOfBoundsException,SecurityException,UnsupportedOperationException等等1.1.1.抽象类和接口的区别,怎么用?举例声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变
4、量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有
5、这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。抽象类和接口一样,都不能被直接实例化,必须通过实现接口(implmenetsinterface)或者继承抽象类(extendsclass)来实现子类。一个类只能继承一个抽象类(或者父类),但可以实现多个接口。在Servlet编程中,javax.servlet.Servlet是一个接口,而javax.
6、servlet.http.HttpServlet是一个抽象类。1.1.2.说一下断言断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。如果表达式计算为false,那么系统会报告一个AssertionError。它用于调试目的。示例如下:assert(a>0);//throwsanAssertionErrorifa<=0断言需要JDK1.4(包括)以上的版本支持1.1.3.String和StringBuffer的区别String类型和StringBuffer类型的主要性能区别其实在于String是不可变的对象。因此在每次对S
7、tring类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String。1.1.10.谈谈final,finally,finalize的区别final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为
8、final的方法也同样只能使用,不能重载finally?再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子
此文档下载收益归作者所有