java代码与编程题.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:22 大小:72KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

java代码与编程题.doc

java代码与编程题.doc

预览

免费试读已结束,剩余 12 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

代码与编程题135、写一个Singleton出来Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有几种种形式:第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。publicclassSingleton{privateSingleton(){}//在自己内部定义自己一个实例,是不是很奇怪?//注意这是private只供内部调用privatestaticSingletoninstance=newSingleton();//这里提供了一个供外部访问本class的静态方法,可以直接访问publicstaticSingletongetInstance(){returninstance;}}第二种形式:publicclassSingleton{privatestaticSingletoninstance=null;publicstaticsynchronizedSingletongetInstance(){//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次//使用时生成实例,提高了效率!if(instance==null)instance=newSingleton();returninstance;}}其他形式:定义一个类,它的构造函数为private的,所有方法为static的。一般认为第一种形式要更加安全些136、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?答:父类:packagetest;publicclassFatherClass{publicFatherClass(){System.out.println("FatherClassCreate");}}子类:packagetest;importtest.FatherClass;publicclassChildClassextendsFatherClass{publicChildClass(){System.out.println("ChildClassCreate");}publicstaticvoidmain(String[]args){FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}输出结果:C:\>javatest.ChildClassFatherClassCreateFatherClassCreateChildClassCreate137、内部类的实现方式?答:示例代码如下:packagetest;publicclassOuterClass{privateclassInterClass{publicInterClass(){System.out.println("InterClassCreate");}}publicOuterClass(){InterClassic=newInterClass();System.out.println("OuterClassCreate");}publicstaticvoidmain(String[]args){OuterClassoc=newOuterClass();}}输出结果:C:\>javatest/OuterClassInterClassCreateOuterClassCreate再一个例题:publicclassOuterClass{privatedoubled1=1.0;//insertcodehere}Youneedtoinsertaninnerclassdeclarationatline3.Whichtwoinnerclassdeclarationsarevalid?(Choosetwo.)A.classInnerOne{publicstaticdoublemethoda(){returnd1;}}B.publicclassInnerOne{staticdoublemethoda(){returnd1;}}C.privateclassInnerOne{doublemethoda(){returnd1;}}D.staticclassInnerOne{protecteddoublemethoda(){returnd1;}}E.abstractclassInnerOne{publicabstractdoublemethoda();}说明如下:一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。故A、B错二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量