Java基础知识扫盲贴.docx

Java基础知识扫盲贴.docx

ID:32020424

大小:73.75 KB

页数:66页

时间:2019-01-30

Java基础知识扫盲贴.docx_第1页
Java基础知识扫盲贴.docx_第2页
Java基础知识扫盲贴.docx_第3页
Java基础知识扫盲贴.docx_第4页
Java基础知识扫盲贴.docx_第5页
资源描述:

《Java基础知识扫盲贴.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java基础1.如何获得数组的长度?数组名.length2.访问修饰符“public/private/protected/缺省的修饰符”的使用类?public:公共,均可访问private:私有的,同一个java类中可以访问.子类不能访问.protected:同一个包中的类都可访问.子类可以访问.缺省,friendly:当前类,同一个包,都可以访问.作用域当前类同一package子孙类其他packagepublic√√√√protected√√√×friendly√√××private√×××3.Anonymo

2、usInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?匿名内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现.一、由于匿名内部类没有名字,所以它没有构造函数。因为没有构造函数,所以它必须完全借用父类的构造函数来实例化,换言之:匿名内部类完全把创建对象的任务交给了父类去完成。二、在匿名内部类里创建新的方法没有太大意义,但它可以通过覆盖父类的方法达到神奇效果,如上例所示。这是多态性的体现。三

3、、因为匿名内部类没有名字,所以无法进行向下的强制类型转换,持有对一个匿名内部类对象引用的变量类型一定是它的直接或间接父类类型。new<类或接口><类的主体>匿名类匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示:new<类或接口><类的主体>这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作

4、数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。注意匿名类的声明是在编译时进行的,实例化在运行时进行。这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。从技术上说,匿名类可被视为非静态的内部类,所以它们具有和方法内部声明的非静态内部类一样的权限和限制。如果要执行的任务需要一个对象,但却不值得创建全新的对象(原因可能是所需的类过于简

5、单,或者是由于它只在一个方法内部使用),匿名类就显得非常有用。匿名类尤其适合在Swing应用程序中快速创建事件处理程序。exp:returnnewContents(){privateinti=11;publicintvalue(){returni;}};这种奇怪的语法要表达的意思是:“创建从Contents衍生出来的匿名类的一个对象”。由new表达式返回的句柄会自动上溯造型成一个Contents句柄。匿名内部类的语法其实要表达的是:classMyContentsextendsContents{privatein

6、ti=11;publicintvalue(){returni;}}returnnewMyContents();若试图定义内部类,并想使用在匿名内部类外部定义的一个对象,则编译器要求外部对象必须是final属性.publicclassParcel9{publicDestinationdest(finalStringdest,finalfloatprice){returnnewDestination(){privateintcost;//Instanceinitializationforeachobject:{co

7、st=Math.round(price);if(cost>100)System.out.println("Overbudget!");}privateStringlabel=dest;publicStringreadLabel(){returnlabel;}};}publicstaticvoidmain(String[]args){Parcel9p=newParcel9();Destinationd=p.dest("Tanzania",101.395F);}}4.staticnestedclass和innerc

8、lass的不同?nestedclass在c++中是嵌套类,innerclass在java中是内部类.不同就是在于是否有指向外部的引用上.静态内部类意味着创建一个static内部类的对象,不需要一个外部类对象;不能从一个static内部类的一个对象访问到一个外部类的对象.5.&和&&的区别&是位运算符,表示按位与运算;&&是逻辑运算符,表示逻辑与(and)6.Collection和Col

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。