北大方正软件技术学院JAVA面试题1.请用自己的理解简单描述一下面向对象的三个特点:封装、继承、多态。答:封装是指:通过合并特征和行为来创建新的数据类型,继承是指:允许对象视为自已本身的类型或它的基类型进行处理,通过使用继承,使得可以重用超类中的代码,多态是指:它通过分离“做什么”和“怎么做”来从另一角度将接口的实现分离开来,多态不但能够改善代码的组织结构和可读性,还能够创建“可扩展的”程序,即无论在项目最初创建时,还是在需要添加新功能时,都可以进行扩充。2.访问修饰符“public/private/protected/缺省的修饰符”的使用有什么不同?答:public修饰符定义的是接口间的访问权限,用此修饰符定义的接口、类、方法、变量可被任何使用者调用。Private修饰符定义的是私有访问权限,是受保护的,它除了类型的创建者和该类型的内部方法之外的任何人都不能访问的元素。它的作用域是最小的。Protected和缺省的修饰符(Default)的作用基本相同,用它来定义的对象只能作用于包内部。它们的区别在于:Protected的作用域比缺省的修饰符的作用域还要大一些,Protected还可以访问不同包中的父类与子类的元素,而缺省的修饰符则不只能访问同一包中的子类与父类元素。3.用关键字final分别修饰类、方法、变量时,有何意义?答:final作用于类:表示该类不能被其它类继承。final作用于方法时:有两方面的原因:1是表示把方法锁定,以防止任何继承类修改它,2.是出于效率方面的考虑,fianl作用于变量时:表示此变量一旦被初始化一次后,其值就不能被改变。4.JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义在try块中可以抛出异常吗?答:throws:表示定义抛出一个异常类。Throw:表示将抛出一个异常的实例。Try:表示在执行try块内的代码时会抛出异常。Catch:表示捕获一个异常类Finally:表示定义在此块中的语句一定会被执行,执行此语块后使资源回复到初始状态。5.Object类(或者其子类)的finalize()方法在什么情况下被调用?答:6.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以,但只能有一个类被声明为public。7.内部类可以引用他的包含类的成员吗?有没有什么限制?答:可以,但有几种情况限制:1.当内部类是静态内部类时,它就只能访问外部类的静态成员(包括静态方法和静态成员变量),2.当内部类是成员内部类时,它可以访问所有的外部类成员(包括方法和变量),...