Ja程序员面试问

上传人:小****克 文档编号:333388695 上传时间:2022-09-02 格式:PDF 页数:14 大小:299.10KB
返回 下载 相关 举报
Ja程序员面试问_第1页
第1页 / 共14页
Ja程序员面试问_第2页
第2页 / 共14页
Ja程序员面试问_第3页
第3页 / 共14页
Ja程序员面试问_第4页
第4页 / 共14页
Ja程序员面试问_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Ja程序员面试问》由会员分享,可在线阅读,更多相关《Ja程序员面试问(14页珍藏版)》请在金锄头文库上搜索。

1、第 一 , 谈 谈f i n a l , f i n a l l y , f i n a l i z e的 区 别 。final?修饰符 (关键字) 如果一个类被声明为 final, 意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。将变量或方法声明为 final,可以保证它们在使用中不被改变。被声明为final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final 的方法也同样只能使用,不能重载 finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,

2、那么相匹配的 catch 子句就会执行, 然后控制就会进入 finally 块 (如果有的话) 。finalize?方法名。Java 技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。 它是在 Object 类中定义的, 因此所有的类都继承了它。 子类覆盖 finalize()方法以整理系统资源或者执行其他清理工作。 finalize()方法是在垃圾收集器删除对象之前对这个对象第二,AnonymousInnerClass(匿名内部类)是否可以 extends(继承)其它类,是否可以i

3、mplements(实现)interface(接口)?匿名的内部类是没有名字的内部类。不能 extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现。调用的。第三,StaticNestedClass 和 InnerClass 的不同,说得越多越好(面试题有的很笼统)。NestedClass(一般是 C+的说法) ,InnerClass(一般是 JAVA 的说法)。Java 内部类与C + + 嵌 套 类 最 大 的 不 同 就 在 于 是 否 有 指 向 外 部 的 引 用 上 。 具 体 可 见注:静态内部类(InnerClass)意味着 1 创建一个 static 内

4、部类的对象,不需要一个外部类对象, 2 不能从一个 static 内部类的一个对象访问一个外部类对象第四,&和&是位运算符。&第五 , H a s h M a p和都 属 于M a p接 口 的 类 , 实 现 了 将 惟 一 键 映 射 到 特 定 的 值 上 。HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。H a s h t a b l e的 区 别 。是布尔逻辑运算符。&的区别。Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同第 六 , C o l l e c t i o n和

5、C ol l ec t io ns 是 个 下的 类 ,它包 含 有 各种 有 关集合 操 作 的静 态 方法。C o l l e c t i o n是 个 下 的 接 口 , 它 是 各 种 集 合 结 构 的 父 接 口 。第七,什么时断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算 为 fals e,那么系 统会 报告一 个 Ass er tio nEr ro r。它用 于调 试目的 :assert(a第 九 , S t r i n g s = n e w S t r i n g ( x y z ) ; 创 建 了 几 个 S t r i n g

6、O b j e c t ?两 个 对 象 , 一 个 是 “ x y x ” , 一 个 是 指 向 “ x y x ” 的 引 用 对 象s 。0);c()候用assert。C o l l e c t i o n s的 区 别 。步的。第十,等於多返回(long)12,返回(long)-11;第十一,shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?shorts1=1;s1=s1+1;有错,s1 是 short 型,s1+1 是 int 型,不能显式转化为 short 型。可 修 改 为s 1 = ( s h o r t ) ( s 1 + 1 ) 。

7、s h o r t s 1 = 1 ; s 1 + = 1正 确 。第 十 二 , s l e e p ( ) 和w a i t ( ) 有 什 么 区 别 ? 搞 线 程 的 最 爱sleep()方法是使线程停止一段时间的方法。在 sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a) “醒来”的线程具有更高的优先级,(b) 正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象 x 发出一个 wait()调用,该线程会暂停 执 行 , 被 调 对 象 进 入 等 待 状 态 , 直 到 被

8、 唤 醒 或 等 待 时 间 到 。第十三,Java有没有goto?少?等於多少?G o t o ? j a v a中 的 保 留 字 , 现 在 没 有 在第十四,数组有没有length() 这个方法 ?String有没有 length() 这个方法?数 组 没 有Stril e n g t h ( ) 这 个 方 法 , 有ng有有le第十五,Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的类型方法的重写 Overriding和重载 Overloading是 Java 多态性的不同表现。重写Overriding 是父类与子类之间多态性的一种表

9、现,重载 Overloading 是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded 的方法是可以改变返回值的类第十六,Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用=还是型。?ngthl e n g t h()这个的 属 性 。方法。j a v a中 使 用 。equals()

10、?它们有何区别?Set 里的元素是不能重复的,那么用 iterator()方法来区分重复与否。equals()是判读两个Setequals()和=方法决定引用值是否指向同一对象 equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。第 十 七 , 给 我 一 个 你 最 常 见 到 的r u n t i m e e x c e p t i o n 。ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,

11、CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,是否相等。ImagingOpException,IndexOutOfBoundsException,MissingResourceException,Negati

12、veArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException第 十 八 , e r r o r和e x c e p t i o nerror 表示恢复不是不可能但很困难的情况

13、下的一种严重问题。比如说内存溢出。不可能指望程序能处exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情第 十 九 , L i s t , S e t , M a p是 否 继 承 自C o l l e c t i o n接 口 ?ListMa第 二 十 , a b s t r a c t c l a s s和i n t e r f a c e有 什 么 区 别 ?p不是,Set是况。理这样的情况。有 什 么 区 别 ?声明方法的存在而不去实现它的类被叫做抽象类( abstractclass) ,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但

14、不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义 staticfinal 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义

15、(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,i n s t a n c e o f运 算 符 可 以 用 来 决 定 某 对 象 的 类 是 否 实 现 了 接 口 。第二十一,abstract 的 method 是否可同时是 static,是否可同时是 native,是否可同时是synchr都第二十二,接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?不能oni

16、zed?中实现这些方法。接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有第 二 十 三 , 启 动 一 个 线 程 是 用启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停第 二 十 四 , 构 造 器C o n s t r u c t o r是 否 可 被o v e r r i d e ?构造器 Constructor不能被继承,因此不能重写Overriding ,但可以被重载Overlo第二十五,是否可String类是final类故不可以继承。以继承String类?ading。止一个线程。r u n ( ) 还 是s t a r t ( ) ?明确的构造函数。第二十六,当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的不 能 , 一 个 对 象 的 一 个 s y n c h r o n i z e d 方 法 只 能 由 一 个 线 程 访 问 。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号