java经典面试题汇总
Java面试题大全(答案版)
Java面试题大全(答案版)
1、一个".java"源文件中是否可以包括多个类(不是内部类)有什么
限制
可以,但是只能有一个类用public修饰,并且用public修饰的类名与文件名要一致
2、&和&&的区别。
&和&&都可以用作逻辑与;
&&还具有短路功能,即如果第一个表达式的结果为false,则不再计算第二个表达式;
&还可以用作位运算符,当&操作符两边的表达式不是boolean 类型时,&表示按位与操作。
3、Java有没有goto
java中的保留字,现在没有在java中使用。
4、在JAVA中,如何跳出当前的多重嵌套循环
break+变量控制与 return
5、switch是否能作用在byte(拜特)上,是否能作用在long上,是否能作用在String上
Switch可以作用在int上,而byte可以隐式转换为int 所以能作用在byte上
不能作用在long上,也不能作用在String上
6、short s1 = 1; s1 = s1 + 1;有什么错 short s1 = 1; s1 += 1;有什么错
1在java中为int数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。s1+=1不会报,因为JVM 会对它特殊处理(自动强转)
7、char型变量中能不能存贮一个中文汉字为什么
可以,char型变量是用来存储unicode(依妮Q特)编码的,而unicode编码包含了中文,所以是可以保存的
8、编程题: 用最有效率的方法算出2乘以8等於几
2<<3,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方,左移运算,CPU直接支持,所以是最有效率的
经典java面试题及答案详解
经典java面试题及答案详解
java面试题1、
说说HashMap和Hashtable的差别
答案分析:
都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap类没有分类或排序。他允许一个null键和多个null 值。
Hashtable类似于HashMap,不过不允许null键和null值。他也比HashMap慢,由于他是同步的。
java面试题2、
Anonymous Inner Class (匿名内部类)是否能e*tends(继承)其他类,是否implements(实现)interface(接口)?
答案分析:
匿名的内部类是没出名字的内部类。不能e*tends(继承)其他类,但一个内部类能作为一个接口,由另一个内部类实现。java面试题3、
STRING与STRINGBUFFER的区分是什么?
答案分析:
STRING的长度是不可变的',STRINGBUFFER的长度是可变的。假如你对字符串中的内容常常进行操作,特别是内容要修改时,那么运用StringBuffer,假如最末需要String,那么运
用StringBuffer的toString()方法。
java面试题4、
什么时候用assert
答案分析:
断言是个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。假如表达式计算为false,那么系统会报告一个AssertionError,他用于调试目的。
java面试题5、
Set里的元素是不能重复的,那么用什么方法来区分重复和否呢?是用==还是equals()?他们有何差别?
答案分析:
java面试问题及答案
java面试问题及答案
由于限制在2000字以内,以下是一个简短的Java面试问题及答案列表:
问题1:什么是Java虚拟机(JVM)?它的作用是什么?
答案:Java虚拟机是一个在计算机上运行Java字节码的虚拟机。它的主要作用是提供了一个独立于平台的执行环境,使得Java程序可以在不同的操作系统上运行。
问题2:Java中的值传递和引用传递有什么区别?
答案:Java中的值传递是指将方法参数的值复制给方法中的参数,任何对该参数的修改都不会影响到原始值。而引用传递是指将变量的引用(内存地址)传递给方法参数,对该参数所做的任何修改都会影响到原始变量。
问题3:什么是多态性(Polymorphism)?如何实现多态性?答案:多态性指的是同一个方法可以在不同的对象上产生不同的行为。在Java中,多态性通过继承和方法重写来实现。当子类重写父类的方法时,可以根据运行时对象的类型来决定调用哪个方法。
问题4:什么是Java中的静态方法和实例方法?
答案:Java中的静态方法是属于类的方法,可以通过类名直接调用。静态方法可以在对象创建之前被调用,并且不能访问非静态的成员变量或方法。实例方法是属于对象的方法,只能通过对象调用。实例方法可以访问和修改对象的成员变量。
问题5:什么是Java中的封装(Encapsulation)?
答案:封装是一种面向对象编程的概念,用于隐藏对象的细节并保护对象的数据。在Java中,通过将属性设置为私有(private)并提供公共(public)的方法来实现封装。公共方
法可以用于获取和修改属性的值,同时可以进行额外的验证或操作。
Java工程师面试题及答案
Java工程师面试题及答案
Java工程师面试题及答案
现在就快到企业的招聘季了,你们准备好去面试了吗?今天店铺收集了一些面试中常会问道的问题给大家,希望能给大家带来帮助哦!也祝各位同学都能找到让自己满意的工作!
1. 如何判断一个数是2的幂。
个人认为,数字转化为二进制,符号位为0,余下部分有且只有最左边一位是1,其余位都是0,才是2的幂。原理是乘二则向左进一位。
2.陷阱面试题:
在Java中,Throwable是一个接口还是抽象类?
3.Javascript 题目
4. 二进制算法以及思维陷阱题
现有一千瓶药水,其中九百九十九瓶是完全一样的,只有一瓶里面是毒药,但是外观上分辨不出来。毒药如果给小白鼠喝一点,一星期后这只小白鼠会突然死亡,但之前一点症状也没有。现需要在一星期内找出哪瓶是毒药,问至少需要几只小白鼠?
5.Java数据范围
在Java中,有一个数字,比如100亿,可以使用 int 来存储吗?
100亿 * 100亿呢,可以用什么类型来存储?
这样计算, int 类型是32位,4个字节,2的10次方是 1024,大约是1K,2^20 = 1M,约100万, 2^30= 1G,大约是10亿,所以整数只能存大约40亿个数字,正数22E个,所以100亿可以使用long 来存储,但不能使用 int来存储。
long是64位,因为 32位存放不下100亿,所以64位也存放不下100亿* 100亿,只能使用特殊的类型啦,比如K神所说的BigInteger,或者 BigDecimal来存放。
一个测试程序:
6. Java面试题: 如何在一个interface 中执行一些操作
java高级面试题及答案
java高级面试题及答案
一、基础理论知识
1. 请解释Java中的四种访问修饰符及其作用范围。
答:Java中的四种访问修饰符分别是public、protected、default
(无修饰符)和private。public修饰的类或成员可以被任何其他类
访问;protected修饰的成员可以被同一个包内的类以及子类访问;default(无修饰符)的成员只能被同一个包内的类访问;private修
饰的成员只能在声明它的类内部访问。
2. 什么是Java的序列化和反序列化?请举例说明。
答:Java序列化是将对象的状态信息转换为字节流的过程,以便于存
储或传输。反序列化则是将字节流恢复为原来的对象。例如,通过ObjectOutputStream和ObjectInputStream类可以实现对象的序列化
和反序列化。
3. 解释Java中的多态性及其优势。
答:多态性是指允许使用子类对象来替代父类对象的能力。在Java中,这是通过继承和接口实现的。多态性的优势包括代码的可扩展性和可
维护性,以及能够编写更通用的代码。
二、Java集合框架
1. 请比较ArrayList和LinkedList的性能差异。
答:ArrayList是基于动态数组的数据结构,适合随机访问;
LinkedList是基于双向链表的数据结构,适合频繁的插入和删除操作。在随机访问大量元素时,ArrayList的性能优于LinkedList;而在插
入和删除操作频繁时,LinkedList的性能更优。
2. 什么是HashMap的工作原理,以及如何解决它的线程安全问题?答:HashMap基于哈希表实现,通过键的哈希值来计算存储位置。当两个不同的键具有相同的哈希值时,会发生哈希冲突,HashMap通过链表或红黑树来解决这个问题。对于线程安全问题,可以使用ConcurrentHashMap,它通过锁分离技术来提供线程安全的映射。
java-软件-面试题
一.最基本题型(说明:此类题型比较简单)
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?
3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)
6.在9个点上画10条直线,要求每条直线上至少有三个点?
7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?
二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)
1.为什么下水道的盖子是圆的?
2.中国有多少辆汽车?
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么?
5.多少个加油站才能满足中国的所有汽车?
6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
Java面试题及答案
一. 选择题(234)
1.下面中哪两个可以在A 的子类中使用:()
class A {
protected int method1 (int a, int b) {
return 0;
}
}
A. public int method 1 (int a, int b) { return 0; }
B. private int method1 (int a, int b) { return 0; }
C. private int method1 (int a, long b) { return 0; }
D. public short method1 (int a, int b) { return 0; }
解答:AC
主要考查子类重写父类的方法的原则
B,子类重写父类的方法,访问权限不能降低
C,属于重载
D,子类重写父类的方法返回值类型要相同或是父类方法返回值类型的子类
2.Abstract method cannot be static. True or False ?
A True
B False
解答:A
抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是无关的,只与类有关,这与abstract 是矛盾的,所以abstract 是不能被修饰为static,否则就
失去了abstract 的意义了
3.What will be the output when you compile and execute the following program.
class Base
{
void test() {
常见java面试题
常见java面试题
Java作为目前最热门的编程语言之一,在面试中也成为了必问的一个议题,以下是常见的Java面试题:
一、Java基础知识
1. Java的特点和优势;
2. JDK和JRE有何区别?
3. Java语言中final、finally、finalize有何不同?
4. 面向对象的三大特性是什么?
5. 什么是多态?如何实现多态?
6. 如何实现Java程序的多线程?
二、Java集合框架
1. Java集合框架是什么?它都包含哪些集合类?
2. ArrayList和LinkedList的区别是什么?
3. HashMap和HashTable有何区别?
4. ConcurrentHashMap的实现原理是什么?
三、Java高级特性
1. 接口和抽象类的区别是什么?
2. 如何理解反射机制?
3. Java中的注解是什么?它有何作用?
4. 如何进行Java的序列化和反序列化?
四、Web开发相关
1. 什么是Servlet?
2. 什么是JSP?它和Servlet的区别是什么?
3. Spring框架的特点有哪些?
4. 如何进行Java Web的部署?
五、数据库相关
1. JDBC是什么?
2. 如何使用Java连接MySQL数据库?
3. 什么是ORM(对象关系映射)?Hibernate是ORM的一个框架,你熟悉它吗?
六、常见问题与优化
1. 何时使用ArrayList和LinkedList?
2. Java中的异常机制是什么?如何处理异常?
3. 如何进行Java程序的优化和调优?
4. 如何进行Java内存泄漏的排查和修复?
Java面试题大全及答案
Java面试题大全及答案
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2.JDK和JRE的区别是什么?
Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。Java开发工具包 (JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行 Java应用程序。
3.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。
4.是否可以在static环境中访问非static变量?
static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。
Java面试题(带答案)
湖南世杰Java工程师面试题
选择题:
单选题
1,以下java程序代码,执行后的结果是( )
java.util.HashMap map=newjava.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.size());
A: 0 B: null C: 1 D: 2
答案:C
2,执行以下程序后的输出结果是( )
Public class Test {
Public static void main(String[] args) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operator(a, b);
System.out.println(a +","+ b);
}
Public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x;
}
}
A: A,A B: A,B C: B,B D: AB,B
答案:D
3,关于依赖注入,下列选项中说法错误的是( )
A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装
B:依赖注入使组件之间相互依赖,相互制约
C:依赖注入提供使用接口编程
D:依赖注入指对象在使用时动态注入
答案:B
4,关于spring说法错误的是( )
A: spring是一个轻量级JAVA EE的框架集合
2024年Java经典面试题及答案
2024年Java经典面试题及答案
问:Java中的泛型是什么?它有什么作用?
答:Java中的泛型是一种参数化类型,它允许使用一个占位符来代表各种类型。它的作用是在编译时检测类型的一致性,避免了类型转换错误,并提高了代码的重用性。
问:Java中的静态方法和实例方法有什么区别?
答:静态方法是属于类的方法,可以在不创建实例对象的情况下被调用,它可以直接通过类名来调用。实例方法是属于具体实例对象的方法,需要先创建实例对象才能调用。
问:Java中的反射是什么?它有什么用途?
答:反射是指在运行状态中,动态获取类的信息并操作类的属性和方法。它的主要用途是在运行时动态创建对象、访问属性和调用方法,以及在编译时无法确定类型的情况下进行操作。
问:Java中的多线程是什么?如何创建多线程?
答:多线程是指在一个程序中同时执行多个线程,每个线程可以独立执行不同的任务。要创建多线程可以通过继承Thread 类或实现Runnable接口来实现。
问:Java中的异常处理是什么?有哪些常见的异常类型?
答:异常处理是指在程序执行过程中处理各种错误或异常情况。常见的异常类型包括NullPointerException、ArrayIndexOutOfBoundsExcpetion、IOException等。
问:Java中的集合框架是什么?它有哪些常见的接口和类?
答:集合框架是Java中用于存储和操作对象的数据结构。常
见的接口包括List、Set、Map等,常见的类包括ArrayList、LinkedList、HashSet、HashMap等。
java面试题(含答案)
public void myMethod(String s) {
System.out.println("My String");
}
public static void main(String args[]) {
Test t = new Test();
t.myMethod(null);
}
}
A. The code does not compile.
lst.add(new Double(2));
for(int i=0;i<lst.size();i++){
System.out.println((String)lst.get(i));
}
}
2, System.out.println(4|3);
3,下面程序输出什么?
public static void main(String[] args) {
class C {
C() {
System.out.print("C");
}
}
class A {
C c = new C();
A() {
this("A");
System.out.print("A");
}
A(String s) {
System.out.print(s);
中级java工程师面试题
中级java工程师面试题
一、Java基础知识
1. 请解释Java的基本特性。
答:Java具有以下基本特性:简单性、面向对象、平台独立性、多线程、安全性、健壮性和动态性。简单性体现在语法上的清晰和简洁;面向对象则是指Java支持封装、继承和多态等面向对象编程的概念;平台独立性意味着Java程序可以在任何支持Java虚拟机(JVM)的平台上运行;多线程使得Java能够同时执行多个操作,提高了程序的效率;安全性则是指Java提供了一系列的安全特性,如异常处理和垃圾回收机制;健壮性体现在Java的强类型检查和错误检测能力;动态性则是指Java支持动态加载、运行时检查等特性。
2. 什么是JVM,JRE和JDK?
答:JVM(Java虚拟机)是运行Java程序的虚拟机环境,负责将Java 字节码解释执行或通过即时编译器(JIT)编译为本地机器码执行。JRE(Java运行环境)包括JVM和运行Java程序所需的核心类库和支持文件。JDK(Java开发工具包)则包含了JRE和开发Java应用程序所需的编译器、调试器等工具。
3. 描述Java中的垃圾回收机制。
答:垃圾回收(Garbage Collection, GC)是Java自动内存管理的一部分,负责回收不再使用的对象所占用的内存。Java中的对象会在没有引用指向它们时变成垃圾,GC会定期或根据内存需求来执行回收过程。这个过程包括标记无用对象、清除这些对象以及压缩内存空间。垃圾回收提高了程序的性能和稳定性,但也可能导致程序的暂停。
二、Java进阶知识
(完整版)Java经典面试题大全带答案
Java经典面试题带答案一、单项选择题
1.Java是从()语言改进重新设计。
A.Ada
B.C++
C.Pasacal
D.BASIC
答案:B
2.下列语句哪一个正确()
A. Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C.Java程序经编译后会产生DLL
D.以上都不正确
答案:B
3.下列说法正确的有()
A.class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C.constructor在一个对象被new时执行
D.一个class只能定义一个constructor
答案:C
4.提供Java存取数据库能力的包是()
A.java.sql
B.java.awt
C.java。lang
D.java。swing
答案:A
5.下列运算符合法的是()
A.&&
B.〈>
C.if
D.:=
答案:A
6.执行如下程序代码
a=0;c=0;
do{
-—c;
a=a-1;
}while(a〉0);
后,C的值是()
A.0
B.1
C.—1
D.死循环
答案:C
7.下列哪一种叙述是正确的()
A.abstract修饰符可修饰字段、方法和类
B.抽象方法的body部分必须用一对大括号{}包住
C.声明抽象方法,大括号可有可无
D.声明抽象方法不可写出大括号
答案:D
8.下列语句正确的是()
A.形式参数可被视为localvariable
B.形式参数可被字段修饰符修饰
C.形式参数为方法被调用时,真正被传递的参数
D.形式参数不可以是对象
答案:A
9.下列哪种说法是正确的()
java基础面试题(答案)
java基础面试题(答案)
1、如下哪些不是java的关键字?
A)const B)NULL C) false D)this E) native
答:B
2、关于垃圾收集的哪些叙述是对的
A)程序开发者必须自己创建一个线程进行内存释放的工作
B)垃圾收集将检查并释放不在使用的内存
C)垃圾收集允许程序开发者明确指定并立即释放该内存
D)垃圾收集能够在期望的时间释放被java对象使用的内存
答:B
3、已知表达式 int m [ ] = {0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量总数相等?
A)m.length() B)m.length C)m.length()+1 D)m.length-1
答:D
4、已知如下代码: public class Test { long a[] = new long [10]; public static void main(String arg[] ){ System.out.print(a[6]); } } 请问哪个语句是正确的?
A)Output is null. B)Output is 0 C)When compile, some error will occur. D)When running, some error will occur.
答:C
5、已知如下代码: public class Test { public static void main(String arg[] ) { int i = 5; do{ System.out.print(i); }while(--i>5); System.out.print(“finished”); } } 执行后的输出是什么?
Java 最常见的面试题(208道)
Java 最常见的面试题(208道)
Java面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。
一、Java 基础
1.JDK 和JRE 有什么区别?
2.== 和equals 的区别是什么?
3.两个对象的hashCode()相同,则equals()也一定为true,对吗?
4.final 在java 中有什么作用?
5.java 中的Math.round(-1.5) 等于多少?
6.String 属于基础的数据类型吗?
7.java 中操作字符串都有哪些类?它们之间有什么区别?
8.String str="i"与String str=new String("i")一样吗?
9.如何将字符串反转?
10.String 类的常用方法都有那些?
11.抽象类必须要有抽象方法吗?
12.普通类和抽象类有哪些区别?
13.抽象类能使用final 修饰吗?
14.接口和抽象类有什么区别?
15.java 中IO 流分为几种?
16.BIO、NIO、AIO 有什么区别?
17.Files的常用方法都有哪些?
二、容器
18.java 容器都有哪些?
19.Collection 和Collections 有什么区别?
20.List、Set、Map 之间的区别是什么?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java基础方面:
1、作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域当前类同一package 子孙类其他package
public √√√√
protected √√√ ×
friendly √√ × ×
private √ × × ×
不写时默认为friendly
2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)
答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现
3、Static Nested Class 和 Inner Class的不同
答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
4、&和&&的区别
答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
5、Collection 和 Collections的区别
答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作
6、什么时候用assert
答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的
7、String s = new String("xyz");创建了几个String Object
答:两个,一个字符对象,一个字符对象引用对象
8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少
答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor
9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错
答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译)
10、Java有没有goto
答:java中的保留字,现在没有在java中使用
11、数组有没有length()这个方法? String有没有length()这个方法
答:数组没有length()这个方法,有length的属性。String有有length()这个方法
12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding 是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型
13、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别
答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值
14、给我一个你最常见到的runtime exception
答:常见的运行时异常有如下这些ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowExceptio n, CannotRedoException, CannotUndoException, ClassCastException, CMMException, Concurre ntModificationException, DOMException, EmptyStackException, IllegalArgumentException, Ille galMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpExceptio n, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSu chElementException, NullPointerException, ProfileDataException, ProviderException, RasterFor matException, SecurityException, SystemException, UndeclaredThrowableException, Unmodifia bleSetException, UnsupportedOperationException
15、error和exception有什么区别
答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况
16、List, Set, Map是否继承自Collection接口
答: List,Set是,Map不是
17、abstract class和interface有什么区别
答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口
18、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized