Java常见面试题
guliuchuan1234
这个作者很懒,什么都没留下…
展开
-
"=="和equals方法的区别
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此...原创 2010-10-08 16:11:25 · 79 阅读 · 0 评论 -
构造器Constructor是否可被override(构造函数)
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading 1). 构造器不能是native,final,static,synchronized 的,可以是public,private,或什么都没有。 2). 构造器函数里可以写return呢,但后面什么都不许有(包括null) 3). 构造器不能返回值. 但如果有个"构造...原创 2010-11-02 23:06:21 · 623 阅读 · 0 评论 -
error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况 ...原创 2010-11-02 23:05:22 · 105 阅读 · 0 评论 -
Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)...
匿名内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现. 一、由于匿名内部类没有名字,所以它没有构造函数。因为没有构造函数,所以它必须完全借用父类的构造函数来实例化,换言之:匿名内部类完全把创建对象的任务交给了父类去完成。 二、在匿名内部类里创建新的方法没有太大意义,但它可以通过覆盖父类的方法达到神奇效果,如上例所示。这是多态性的体现。 ...原创 2010-11-02 23:03:15 · 126 阅读 · 0 评论 -
微软面视题
一.最基本题型(说明:此类题型比较简单) 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时) 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 3.如果你有无穷多的水,一个3公升...原创 2010-10-18 17:25:12 · 102 阅读 · 0 评论 -
String是最基本的数据类型吗
基本数据类型包括byte、int、char、long、float、double、boolean和short。java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类String 和StringBuffer的区别JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操...原创 2010-10-18 17:22:13 · 104 阅读 · 0 评论 -
1.面向对象的特征有哪些方面
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类...原创 2010-10-18 17:21:19 · 76 阅读 · 0 评论 -
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
[size=large]Overload是重载的意思,Override是覆盖的意思,也就是重写。重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法...原创 2010-10-08 16:27:25 · 390 阅读 · 0 评论 -
作用域public,private,protected,以及不写时的区别
[size=large]这四个作用域的可见范围如下表所示。说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ ...原创 2010-10-08 16:25:39 · 93 阅读 · 0 评论 -
是否可以从一个static方法内部发出对非static方法的调用?
[size=large]不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方...原创 2010-10-08 16:21:45 · 107 阅读 · 0 评论 -
&和&&的区别
[size=large]&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式...原创 2010-10-08 16:20:03 · 94 阅读 · 0 评论 -
Integer与int的区别
[size=large]int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为...原创 2010-10-08 16:18:33 · 122 阅读 · 0 评论 -
获取配置文件的几种方式
public class PropertyUtil { /** * 得到Properties * * @param path * @return */ public static Properties getProperties(String path) { if (path == null |...原创 2011-02-18 10:59:10 · 164 阅读 · 0 评论