为Java程序员金三银四精心挑选的五十道面试题与答案

1、面向对象的特征有哪些方面? 【基础】 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、作用域public,private,protected,以及不写时的区别?【基础】 答:区别如下: 作用域 当前类 同包 子孙类 其他 public √ √ √…

JavaFX技术简要总结

最近,做一个桌面应用程序的项目,需要考察相关技术,对于经常使用Java的我们来说,很自然的找Java的桌面程序开发技术,发现JavaFX是比较合适的,简单熟悉了一下,写出来给大家做个参考。 一 Java的图形用户界面技术的发展 Java的图形用户界面技术,主要有AWT,Swing,SWT/JFACE。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java图形用户界面的基本工具。AWT的缺点是在原生的用户界面上仅提供了一个非常薄的抽象层,AWT不能保证程序在各种平台上表现一致,违背了Java“一次编写,到处运行”的信条。 Java Swing是Java Foundation Classes(JFC)的一部分,相对于AWT,Swing是轻量级元件,缺点是运行速度慢,优点是可以在所有平台上采用统一的行为。Swing也提供了比AWT更为丰富的组件和强大功能,但Swing的灵活性也增加了其复杂性和难以上手,让很多初学者望而却步,所以Swing也没有发展起来。 SWT(Standard Widget Toolkit)/JFace是Java的一种图形API标准,JFace是在SWT的基础上,采用MVC模式进行封装而形成的一个新的类库。SWT Designer的Eclipse插件,可以采用可视化拖拽的方式开发Window图形用户界面。SWT/JFace具有比AWT更为丰富的控件,比Swing跟为快捷的速度。也有缺点,它们不是Java语言标准,某些平台并不支持。 java技术的发展,从AWT,Swing,SWT,JFace到JavaFX,图形用户界面工具包。其中SWT/JFace用的相对较多,AWT,Swing技术较为陈旧,用的比较少,JavaFX没有推广开,用的人也相对较少。 二 javaFX简介…