Posted on 2011-04-29 11:32
哈希 阅读(297)
评论(0) 编辑 收藏 所属分类:
java面试题
一、oop唯一关心的是接口是什么,就像就像汽车销售商不需要管他是怎么制造的,只要关心他能不能燃烧燃料开动起来,只要知道(can or not)不要关心(how and why):
1、多态性:(java对象多态,java中不支持多重继承)
允许不同类的对象最统一消息做出响应。多态性包括参数化多态和包含性多态性,多态性语言具有灵活抽象,行为共享的优势,很好解决了应用函数同名问题.
2、封装:(隐藏细节)
就是把把数据和行为结合在一起,并对对象使用者隐藏隐藏数据的实现过程,一个对象中的数据称为它的实例字段(instance);
3、继承:(扩展一个类)
允许在已经存在的类上构建新的类,当你继承一个已经存在的类时候那么你就 复用了这个类的方法和字段,同时你可以在新类中添加心得方法和字段;
?4、class类(oop最重要的思想,类中构建一个对象,即创建这个类的一个实例)
为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为javaBeans特别所有,能够分析类能力的程序角反射器,java中提供的功能包叫java.lang.reflect反射机制十分强大。
5、接口:(不是一个类,对符合接口要求的类的一套规范)
实现接口两个步骤:1、声明类需要实现的指定接口;
2、提供接口中所有接口的定义;
接口是一个收集方法和常数的契约,当类执行一个接口,他就许诺在那个接口中声明的所有方法。接口是一个设备或者一个系统,它是用于交互的无关实体。根据这个定义,远程控制是一个你和电视的接口,而英语是两个人之间的接口。在java语言中接口是一种设备,它是用来与其他对象交互的设备。一个接口可能对一个协议是类似的,实际上其他语言也有接口,但是它们调用它的接口协议。
6、动态绑定(调用对象方法的机制)
(1)编译器检查对象声明的类型和方法名;(2)编译器检查方法调用的参数类型;(3)静态绑定:若方法类型为private static final编译器会准确知道调用哪个方法;(4)程序需要调动一个方法时,那么虚拟机必须调用参数所指向的对象的实际类型相匹配的方法。
7、构造器(特殊的方法,构造对象并将其初始化)
构造器可以有0个,一个或多个,构造器和类有相同的名字,一个类可以右多个构造器,构造器没有返回值,构造器总是和new字符一起运行的。
8、final类(系统级的类,不可扩展)
防止派生新类
9、equal(判断两个对象是否相等)
10、toString()返回一个代表该对象的字符串,几乎每一个类都会重载该方法,返回当前状态的正确表示;
11、通用编程:
任何类型的所有值都可以都可以用Object类型的变量来代替;
12、内部类:(定义在一个类的内部的类)
1、一个内部类的对象能够访问创建它的对象的实现,包括私有数据;
2、对于同一个包中的类,呢不累可以隐藏起来;
3、匿名内部类可以很方便的进行回调;
4、使用内部类可以很方便的编写事件驱动程序;
13、代理类:(proxy)
A、指定接口要求所有代码;
B、Object类定义的所有方法(equals,toString());