• 回答数

    6

  • 浏览数

    337

猫19820728
首页 > 工程师考试 > java工程师笔试题

6个回答 默认排序
  • 默认排序
  • 按时间排序

mayhanlimei

已采纳

Java面向对象1. super()与this()的区别?This():当前类的对象,super父类对象。Super():在子类访问父类的成员和行为,必须受类继承规则的约束而this他代表当前对象,当然所有的资源都可以访问.在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源.2. 作用域public,protected,private,以及不写时的区别?Public:不同包、 同一包、 类内都可用Private: 类内Protected:不同包的子类、同一包、 类内都可用不写时: 同一包内、类内3. 编程输出如下图形。* * * * ** * * ** * ** **代码如下:public class Print { publicstatic void main(String[] args) { for(int i = 0; i < 5; i++) { for(int j = 5; j > i; j--) { ("*"); } (); } }}4. JAVA的事件委托机制和垃圾回收机制Java事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回。垃圾回收机制垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收5. 在JAVA中,如何跳出当前的多重嵌套循环?用break; return 方法。6. 什么是java序列化,如何实现java序列化?(写一个实例)序列化:处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implementsSerializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以。如果这个类的修饰符是public,其类名与文件名必须相同。8. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序?排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?重写Override,子类覆盖父类的方法,将子类传与父类的引用调用的还是子类的方法。重载Overloading 一个类多个方法,名称相同,参数个数类型不同。两者都是Java多态性的不同表现。Overloaded的方法是可以改变返回值的类型。1, public class Ctest(){ Public static void main(){(8+8+”88”+8+8);}} 168888(方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。)10. Final类有什么特点? 属性常量 方法不可以overridding 类不可以继承11. 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?答:父类:package test;public class FatherClass {public FatherClass() {("FatherClassCreate");}}子类:package test;import ;public class ChildClass extends FatherClass{public ChildClass() {("ChildClassCreate");}public static void main(String[] args) {FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();}}输出结果:C:>java CreateFatherClass CreateChildClass Create12. 内部类的实现方式?package test;public class OuterClass {private class InterClass {Public Interlass(){("InterClassCreate");}}public OuterClass(){InterClass ic = new InterClass();("OuterClassCreate");}public static void main(String[] args){OuterClass oc = new OuterClass();}}输出结果:C:>java test/OuterClass InterClass Create OuterClass Create13. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?14. 如在COLLECTION框架中,实现比较要实现什么样的接口?15. 用插入法进行排序代码如下package test;import .*;class InsertSort {ArrayList al;public InsertSort(int num,int mod) {al = new ArrayList(num);Random rand = new Random();("The ArrayList SortBefore:");for (int i=0;inum){ break; } temp=temp+(i); } (temp); }15、Java编程,打印昨天的当前时刻public class YesterdayCurrent{public void main(String[] args){Calendar cal = ();(, -1);(());}}16、文件读写,实现一个计数器public int getNum(){int i = -1;try{String stri="";BufferedReader in = new BufferedReader(newFileReader(f));while((stri=())!=null){i = (());}();}catch(Exception e){();}return i;}public void setNum(){int i = getNum();i++;try{PrintWriter out=new PrintWriter(newBufferedWriter(new FileWriter(f,false)));((i)); //可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是() ;}catch(Exception e){();}}17、指出下面程序的运行结果。class A{static{("1");}public A(){("2");}}class B extends A{static{("a");}public B(){("b");}}public class Hello{public static void main(String[] ars){A ab = new B(); //执行到此处,结果: 1a2bab = new B(); //执行到此处,结果: 1a2b2b}}注:类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造18、抽象类和接口的区别?(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:publicstatic final, 抽象类字段默认是"friendly"(本包可见)当功能需要累积时用抽象类,不需要累积时用接口。19、什么是类的反射机制?通过类(Class对象),可以得出当前类的fields、method、construtor、interface、superClass、modified等,同是可以通过类实例化一个实例、设置属性、唤醒方法。Spring中一切都是返射、struts、hibernate都是通过类的返射进行开发的。20、类的返射机制中的包及核心类?①②③④⑤⑥、得到Class的三个过程是什么?①对象.getClass()②类.class或(int) ()③();22、如何唤起类中的一个方法?①产生一个Class数组,说明方法的参数②通过Class对象及方法参数得到Method③通过(实例,参数值数组)唤醒方法23、如何将数值型字符转换为数字(Integer,Double)?(“1234”) (“”)24、如何将数字转换为字符?1+”” ””25、如何去小数点前两位,并四舍五入。double d=; d=d/100; ((d)*100);26、如何取得年月日,小时分秒?Calendar c=(); (); (); (); (()+" "+(()+1)+" "+());27、如何取得从1970年到现在的毫秒数 dat=new Date(); long now=();或()28、如何获取某个日期是当月的最后一天?当前日期加一天,若当前日期与结果的月份不相同,就是最后一天。取下一个月的第一天,下一个月的第一天-1public static void main(String[] args){ Calendarc=(); (); (); (); Calendarc1=(Calendar)();(()+""+(()+1)+" "+()); (); if(()!=()){ ("是最后一天"); }else{ ("不是取后一天"); } }29、如何格式化日期?Import . SimpleDateFormat;SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");Date dat=new Date();String str=(dat); //把日期转化为字符串(str); d1=(“yyyy-mm-dd”); //将字符串转化为日期30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。String a=new String("中".getBytes("gb2312"),"iso-8859-1"); String a=new String("中".getBytes("iso-8859-1"));应该是String a=new String("中".getBytes("gb2312"),"iso-8859-1");String a1=newString(("iso-8859-1"));

java工程师笔试题

319 评论(9)

默默一个人旅行

相信自己选的吧,这没啥好问的,要是这种题目都不能自己拿决定。。。你还有什么能相信自己

340 评论(11)

婕哥大王

找个真实的项目演习一下,然后你就可以说,有经验了。

227 评论(9)

丫丫King

java面试题应该就那些吧,也就问一些比较基础的,网上一查就有,涉及到代码,最多也就问一些经典算法,什么冒泡排序啊,什么计算的一些比较经典的算法

280 评论(10)

0子爵绿子0

这种题最无聊

266 评论(13)

桃乐丝816

去蛙课网上看一下吧,Java基础,Java面经,大厂面试题,互联网一线面试题,这里基本都有。

254 评论(8)

相关问答