1、JavaSE面试题1. 下面那几个函数是 public void method().的重载函数A)public void method( int m). B)public int method().C) public void method2(). D) public int method(int m, float f ).AD2 关于下面的说法 哪些是正确的:A)一旦一个线程被创建,它就立即开始运行。B)使用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。C)当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。D)一个线程可能因为不同的原因停止并进入可运行状
2、态答案:c 3:class Testprivate int m;public static void fun() ,new Test().m.4: 以下哪个方法用于定义线程的执行体A)start() B)init() C)run() D)main() E)synchronized()答案:c5:public class Personstatic int arr =new int10;public static void main(String a )(arr 1 );哪个选项是正确的A. 编译时将产生错误;B. 编译时正确,运行时将产生错误;C. 输出 0;D. 输出空答案:c6: 运算符和是
3、做什么用的答案.执行有符号右移,执行无符号右移7:下列关于栈结构的叙述正确的是 A 栈是非线性结构 B 栈是一种树状结构C 栈具有先进先出的特征 D 栈具有后进先出的特征答案:D8:字符(char)的整型表示范围byte呢int呢long呢答案byte为-128127,占用1个字节(-2的7次方到2的7次方-1)short为-3276832767,占用2个字节(-2的15次方到2的15次方-1) int为(-4847),占用4个字节(-2的31次方到2的31次方-1) long为(-808807),占用8个字节(-2的63次方到2的63次方-1)9: String是否是java中的基本数据类型
4、java中都有哪些基本数据类型String不是基本数据类型,八个基本数据类型是char, int, double, float, byte, long, short, boolean,对应八个包装类是 Character,Integer,Double, Float, Byte, Long, Short, Boolean10: A. int k=new String(“aa”);B. String str=String(“bb”);C. char c=74;D. long j=8888;上述表达式正确的是哪些CD11:下述代码的执行结果是class Super public int getLen
5、gth() return 4; public class Sub extends Super public long getLength() return 5;public static void main (Stringargs) Super sooper = new Super ();Super sub = new Sub(); “,” + () );A. 4, 4B. 4, 5C. 5, 4D. 5, 5E. 代码不能被编译答案:E switch 不能够作用在 String 类型上B. List, Set, Map 都继承自 Collection 接口C. Java 语言支持 goto
6、语句D. GC 是垃圾收集器,程序员不用担心内存管理答案:d13: 指出下列程序运行的结果public class Example String str=new String(good); charch=a,b,c; public static void main(String args) Example ex=new Example(); ,; and ); public void change(String str ,char ch) str=test ok; ch0=g; A good and abcB good and gbcC test ok and abcD test ok and
7、 gbc答案:bint myArray=new intnew int5,6,2,new int6,9,7,8,3,new int3,2; myArray22的值是()A. 9B. 2C. 6D. 越界答案 D越界15、关于异常(Exception),下列描述正确的是(多选)A. 异常的基类为 Exception,所有异常都必须直接或者间接继承它B. 异常可以用 try . . .catch(Exception e) . . .来捕获并进行处理C. 如果某异常继承 RuntimeException,则该异常可以不被声明 异常可以随便处理,而不是抛给外层的程序进行处理答:ABC16:声明一个委托
8、public int myCallBack(int x); 则用该委托产生的回调方法的原型应该是A. void myCallBack(int x)B. int receive(int num)C. String receive(int x)D. 不确定的答:B17:三种字符串判空串方法:1: bool isEmpty = () = 0); 2: bool isEmpty = (str = ; 3: bool isEmpty = (str = );哪种方法正确A. 1B. 2C. 3答:A18:String s=new String(“hello”);String t =new String(“
9、hello”);char c =h,e,l,l,o; 下列哪些表达式返回 true A(t);B(c);Cs= =t ;D (new String(“hello”);Et= = c;答:AD19:类 Teacher 和 Student 是类 Person 的子类; Teacher t; Student s;if (t instanceof Person ) s=(Student)t; 最后一条语句的结果是: A将构造一个 Student 对象;B表达式是合法的;C表达式是错误的;D编译时正确, 但运行时错误。答:D20给定下列代码:public void test() try oneMetho
10、d(); “condition 1”); catch (ArrayIndexOutOfBoundsException e) 2”);catch(Exception e) 3”);finally oneMethod 正常运行, 将显示A. condition 1B. condition 2C. condition 3D. finally答:AD21请选出下面两个类间关系描述错误的项 a. public interface A public class B extends A b. public interface A public interface B extends A c. public
11、interface A public class B implements A d. public class A public class B protected A a;答:A22下列创建数组的方法正确的是A)int two Dim = new int4 ;B)int two Dim = new int 4;C)int two Dim = new int45;D)char a = A, B;E)char c = “ABC” ;答:ACD23:public class X extends Thread implements Runnable public void run() this is
12、 run(); public static void main(String args) Thread t=new Thread(new X(); (); A 第一行会产生编译错误B 第六行会产生编译错误C 第六行会产生运行错误D 程序会运行和启动 答:D24: 根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i10 时是否会引起死锁 public void test(int i) lock(this) if (i10) i-; test(i); A. 会锁死B. 不会锁死答:B25:欲构造 ArrayList 类得一个实例,此类实现了 List 接口,下列哪个方法是正确的:
13、A ArrayList myList = new Object();B List myList = new ArrayList();C ArraylList myList = new List();D List myList = new List();答:B26:Java 网络程序设计中,下列正确的描述是(多选)A. Java 网络编程 API 建立在 Socket 基础之上B. Java 网络接口只支持 TCP 以及其上层协议C. Java 网络接口只支持 UDP 以及其上层协议D. Java 网络接口支持 IP 以上的所有高层协议答:AD27:Java I/O 程序设计中,下列描述正确的是
14、A. OutputStream 用于写操作B. InputStream 用于写操作C. I/O 库不支持对文件可读可写 API答:A28:选出对于 XML 的评论正确的选项 A. XML 是一种语言无关平台无关的自描述语言。B. 标签实际上包含了元素和属性两部分。用元素来描述有规律的数据,用属性来描述系统数据。C. XML 不可跨平台,不具备扩展性。 文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,缺省的名字空间就是和该元素相关联的名字空间。答:AD29:说说下面语句是否有错误,或可能出现的缺陷,并指出错误,或缺陷在哪里public class MyFile implement
15、s Runnablepublic void run()while (true)tryFileReader fr=new FileReader(new File() ;String line=(); err) Sleep(1000); 答: 没有这个方法(1000)需要用 (1000);3.没有关闭 FileReader4.死循环,没有退出的可能30:判断下列语句是否正确,如果有错误,请指出错误所在List a = new ArrayList();(5);答:错误,5 的默认类型为 int。31:class BubbleSortpublic static void main(String arg
16、s)int arr = 8,4,2,3,5;arr = sort(arr);for(int a : arr)t);public static int sort(int array) int cnt;int n = ;docnt = 0;for( int i=1; in; i+ )if( arrayiarrayi-1 )int temp = arrayi;arrayi = arrayi-1;arrayi-1 = temp;cnt+;n-;while( cnt!=0 );return array; 冒泡排序,选择排序.重点掌握32:public class WorkerThread extends
17、 Thread private String message;public WorkerThread(String message) = message;public void run() static void main(String args) new WorkerThread(hello world!).start();33、 在 web 应用开发过程中经常遇到输出某种编码的字符,如从 GBK 到 iso8859-1等,如何输出一个某种编码的字符串答:public static String translate(String str) String tempStr = ;try temp
18、Str = new String(GBK), ISO-8859-1);tempStr = (); catch (Exception e) tempStr;34:public class Singleton private Singleton sin = new Singleton();private Singleton() public static Singleton init()return sin;35:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如我 ABC, 4,应该截为我 AB,输入我 ABC 汉 DEF,6,应该输出为
19、我 ABC而不是我 ABC+汉的半个。答: class SplitString public static String split(String str,int num) byte strs = ();if(strsnum-10)num=num-1;byte news = new bytenum;(strs,0,news,0,num);return new String(news); public static void main(String args) String str = split(我 ABC, 4); str2 = split(我 ABC 走 DEF, 6); .上面面的代码,
20、如果你用“&”替换“&”将发生什么错误答:会抛出空指针异常; &会短路,只要遇到 boolean 值为 false 就不会再往后执行了;而&则是会把两边的运算都执行完。注:这个题略坑,经常报nullException不过有时候要用到这个东西。40:abstract class 和 interface 有什么区别想插一句 有人用过 interface嘛 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让
21、它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。新型多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,所有成员变量都是 public static final 的。一个类可以实现多个接口,当类实现接口时,必须实现接口的所有方法。抽象类在 Java 语言中表示的是一种单继承的关系,而接口表示的是多继承的关系;抽象类中可以定义自己的成员变量,也可以包含非抽象的方法,而在接口中只
22、能有静态的常量,所有方法必须是抽象的;实现抽象类时可以只实现其中的部分方法,而要是实现一个接口的话就必须实现这个接口中的所有抽象方法。 41:谈谈 final, finally, finalize 的区别答:final 修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。将变量或方法声明为 final,可以保证它们在使用中不被改变。被声明为 final 的变量必须在声明时给定 初值,而在以后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重载fi
23、nally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)finalize 方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。42:has a ,is a
24、关系:has a: public class A private B b = new B();class Bis a:public interface Apublic class B impliments A43Math类自己下去看API把.太多了。44:java 语言中 public、private、protected 三个关键字的用法,重写和重载的区别。答:作用域 当前类 同包 子类 默认public protected default private 45:说一下 “=”和 equals()方法在字串变量操作中的不同答:”=”比较的是两个字符串对象的地址, equals()是比较的两个字
25、符串的具体值。46:异常机制中 try后一定要跟 catch 和 finally 吗答:一定要有 catch 或者 finally,catch 子句紧跟在 try 块后面,用来指定你想要捕捉的“异常”的类型。如果有 catch 的话,可以没有 finally。47:能用 foreach 遍历访问的对象需要实现答:需要实现 Iterable 接口48:说出一些 JDK 常用的类,包,接口,Exception请各举 5 个类:HashSet 、Thread 、String 、FileInputStream 、Class包: 、 、 、 、接口:Collection 、Set 、List 、Comp
26、arable 、SerializableException:ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, Illegal
27、MonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityExceptio
28、n, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException49: Anonymous Inner Class (匿名内部类) 是否可以 extends(继承)其它类,是否可以 implements(实现)interface(接口) 答:匿名内部类是可以继承其它类,同样也可以去实现接口的,用法为:JButton button = new JButton(); (new ActionListener() public void actionPerformed(ActionEvent e). );这样的用法在 swing 编程中是经常使用的,就是因为它需要用到注册监听器机制,而该监听类如果只服务于一个组件,那么,将该类设置成内部类/匿名类是最方便的。注:著名的监听者模式50:接口是否可继承接口 抽象类是否可实现接口 抽象类是否可继承实体类 答:接口是可以继承接口的并且可以继承多个其它接口;抽象类可以实现接口中的方法;抽象类可以继承实体类。注:想当架构师的,这个一定要搞得非常清楚,反射也要搞清楚。51:构造器 Constructor 是否可以被
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1