java面向对象面试题_第1页
java面向对象面试题_第2页
java面向对象面试题_第3页
java面向对象面试题_第4页
java面向对象面试题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.super。及this。的区分?This():当前类的对象,super父类对象。Super():在子类访问父类的成员和行为,必需受类继承规则的约束而this他代表当前对象,当然全部的资源都可以访问.在构造函数中,假如第一行没有写super。,编译器会自动插入.但是假如父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必需加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.而在方法中super和this运用的方法就差不多了.只不过super要考虑是否能访问其父类的资源..作用域public,protected,private,以及不写时的区分?Public:不同包、同一包、类内都可用Private:类内Protected:不同包的子类、同一包、类内都可用不写时:同一包内、类内3.编程输出如下图形。slz*******代码如下:publicclassPrint{publicstaticvoidmain(String[]args){for(inti=0;i<5;i++){for(intj=5;j>i;j——){cal.add(Calendar.DATE,-1);System,out.printin(cal.getTime());}}16、文件读写,实现一个计数器publicintgetNumO{inti=-1;try{Stringstri=//zz;BufferedReaderin=newBufferedReader(newFileReader(f));while((stri=in.readLine())!=null){i=Integer,parselnt(stri.trim());}in.close();}catch(Exceptione){e.printStackTrace();}returni;}publicvoidsetNumO(inti=getNumO;i++;try(PrintWriterout=newPrintWriter(newBufferedWriter(newFileWriter(f,false)));out.write(String.valueOf(i));〃可能是编码的缘由,假如干脆写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是Stringout.close();}catch(Exceptione){e.printStackTrace();17、指出下面程序的运行结果。classA{static{System,out.print(〃1〃);}publicA(){System.out.print(〃2〃);}}classBextendsA{static{System.out.print(〃a〃);}publicB(){System,out.print(〃b〃);})publicclassHello{publicstaticvoidmain(String[]ars){Aab=newB();〃执行到此处,结果:此2bab=newB();〃执行到此处,结果:la2b2b注:类的static代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造System.out.print("*");System.out・printIn();)).JAVA的事务托付机制和垃圾回收机制java事务托付机制的概念,一个源产生一个事务并将它送到一个或多个监听器那里。在这种方案中,监听器简洁的等待,直到它收到一个事务。一旦事务被接受,监听器将处理这个事务,然后返回。垃圾回收机制垃圾收集是将支配给对象但不再运用的内存回收或释放的过程。假如一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收.在JAVA中,如何跳出当前的多重嵌套循环?用break;return方法。.什么是java序列化,如何实现java序列化?(写一个实例)序列化:处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将须要被序列化的类实现Serializable接口,该接口没有须要实现的方法,implementsSerializable只是为了标注该对象是可被序列化的,然后运用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,运用ObjectOutputStream对象的writeObject(Objectobj)方法就可以将参数为obj的对象写出(即保存其状态),要复原的话则用输入流。.一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?可以。假如这个类的修饰符是public,其类名及文件名必需相同。.排序都有哪几种方法?请列举。用JAVA实现一个快速排序?排序的方法有:插入排序(干脆插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(干脆选择排序、堆排序),归并排序,支配排序(箱排序、基数排序)快速排序的伪代码。.Overload和Override的区分。Overloaded的方法是否可以变更返回值的类型?方法的重写Override,子类覆盖父类的方法,将子类传及父类的引用调用的还是子类的方法。重载Overloading一个类多个方法,名称相同,参数个数类型不同。两者都是Java多态性的不同表现。Overloaded的方法是可以变更返回值的类型。1,publicclassCtest(){Publicstaticvoidmain()System,out.prinln(8+8+”88"+8+8);168888.Final类有什么特点?属性常量方法不行以overridding类不行以继承.继承时候类的执行依次问题,一般都是选择题,问你将会打印出什么?答:父类:packagetest;publicclassFatherClass{publicFatherClass(){System,out.printin(zzFatherClassCreate");}}子类:packagetest;importtest.FatherClass;publicclassChildClassextendsFatherClass{publicChildClass()System,out.printIn(zzChildClassCreate");publicstaticvoidmain(String[]args)FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}输出结果:C:>javatest.ChildClassFatherClassCreateFatherClassCreateChildClassCreate.内部类的实现方式?答:示例代码如下:packagetest;publicclassOuterClass(privateclassInterClass(PublicInterlass(){System.out.printin("InterClassCreate");)}publicOuterClass()InterClassic=newInterClass();System,out.printin(,zOuterClassCreate");publicstaticvoidmain(String[]args)(OuterClassoc=newOuterClass();}}输出结果:C:>javatest/OuterClassInterClassCreateOuterClassCreate.用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?.如在COLLECTION框架中,实现比较要实现什么样的接口?.用插入法进行排序代码如下packagetest;importjava.util.classInsertSort(ArrayListal;publicInsertSort(intnum,intmod){al=newArrayList(num);Randomrand=newRandom();System,out.printin(/zTheArrayListSortBefore:/z);for(inti=0;i<num;i++)al.add(newInteger(Math,abs(rand,nextlnt())%mod+1));System.out.printin(〃al[〃+i+〃]=〃+al・get(i));}}publicvoidSortlt(){Integertemplnt;intMaxSize=l;for(inti=l;i<al.size();i++)(templnt=(Integer)al.remove(i);if(templnt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())(al.add(MaxSize,templnt);MaxSize++;System.out.println(al.toStringO);}else{for(intj=0;j<MaxSize;j++){if(((Integer)al.get(j)).intValue()>=templnt.intValue())(al.add(j,templnt);MaxSize++;System.out.printin(al.toStringO);break;System.out.printin(Z/TheArrayListSortAfter:/z);for(inti=0;i<al.size();i++)System.out.printin(〃al[〃+i+〃]=〃+al・get(i));}}publicstaticvoidmain(String[]args)(InsertSortis=newInsertSort(10,100);is.Sortlt();)JAVA类实现序例化的方法是实现java.io.Serializable接口Collection框架中实现比较要实现Comparable接口和Comparator接口16.编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC-4,应当截为“我AB",输入“我ABC汉DEF",6,应当输出为“我ABC”而不是“我ABC+汉的半个”。答:代码如下:publicstaticvoidsplit(Stringsource,intnum)throwsException{intk=0;Stringtemp=///,;for(inti=0;i<source.length();i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论