欢迎来到天天文库
浏览记录
ID:62033612
大小:47.50 KB
页数:25页
时间:2021-04-15
《java面试知识点精选.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.如何获得数组的长度?数组名.length2.访问修饰符“public/private/protected/缺省的修饰符”的使用类?public :公共,均可访问private:私有的,同一个java类中可以访问.子类不能访问.ﻫprotected: 同一个包中的类都可访问。子类可以访问。缺省,friendly:当前类,同一个包,都可以访问。 作用域当前类同一package子孙类其他packagepublic √ √√√ﻫprotected√√ √×friendly √√××private√×××3.AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,
2、是否可以implements(实现)interface(接口)?匿名内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现.一、由于匿名内部类没有名字,所以它没有构造函数。因为没有构造函数,所以它必须完全借用父类的构造函数来实例化,换言之:匿名内部类完全把创建对象的任务交给了父类去完成.二、在匿名内部类里创建新的方法没有太大意义,但它可以通过覆盖父类的方法达到神奇效果,如上例所示。这是多态性的体现.三、因为匿名内部类没有名字,所以无法进行向下的强制类型转换,持有对一个匿名内部类对象引用的变量类型一定是它的直接或间接父类类型。new〈类或接口〉〈类的主体〉匿
3、名类匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示:ﻫnew〈类或接口><类的主体〉这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。注意匿名类的声明是在编译时进行的,实例化在运行时进行。这
4、意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。从技术上说,匿名类可被视为非静态的内部类,所以它们具有和方法内部声明的非静态内部类一样的权限和限制。如果要执行的任务需要一个对象,但却不值得创建全新的对象(原因可能是所需的类过于简单,或者是由于它只在一个方法内部使用),匿名类就显得非常有用。匿名类尤其适合在Swing应用程序中快速创建事件处理程序。exp:ﻫreturnnew Contents(){ ﻫprivateinti=11;ﻫpublicintvalue(){returni; } };这种奇怪的语法要表达的意思是:“创建从Content
5、s衍生出来的匿名类的一个对象”。由new表达式返回的句柄会自动上溯造型成一个Contents句柄。匿名内部类的语法其实要表达的是:classMyContentsextends Contents { ﻫprivateinti =11; ﻫpublicintvalue(){return i; }ﻫ}returnnewMyContents();若试图定义内部类,并想使用在匿名内部类外部定义的一个对象,则编译器要求外部对象必须是final属性。 ﻫpublic classParcel9{ﻫpublic Destinationdest(finalString dest,finalfloatprice)
6、 { returnnewDestination(){private int cost;//Instanceinitializationforeachobject:ﻫ{cost= Math.round(price);if(cost>100) System。out.println(”Overbudget!");}ﻫprivate String label = dest;publicStringreadLabel(){returnlabel;}};}publicstaticvoidmain(String[]args){Parcel9p= new Parcel9(); Destinationd= p
7、.dest("Tanzania”,101。395F);}}本文为互联网收集,请勿用作商业用途4.staticnestedclass和 innerclass的不同?ﻫnested class在c++中是嵌套类,innerclass在java中是内部类.不同就是在于是否有指向外部的引用上。静态内部类意味着创建一个static内部类的对象,不需要一个外部类对象;不能从一个static内部类的一个对象访问到一个外部类
此文档下载收益归作者所有