文档介绍:1. float 型 float f= 是否正确?
答:不正确,应为 float f=
2. 当一个对象被当作参数传递到一个方法后,此方法可改变这
个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是
引用传递?
答:是引用传递。
3. 在 java 中一个类被声明为 final 类型,表示了什么意思?
答:表示该类不能被继承,意味着它不能再派生出新的子类,不
能作为父类被继承,是顶级类。
4. Error 与 Exception 有什么区别?
答:Error(错误)表示系统级的错误和程序不必处理的异常,是java
运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于
这种错误,程序基本无能为力,除了退出运行外别无选择。
Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它
处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起
的一般性问题,是程序必须处理的。
5. 谈谈 final, finally的区别。
答:final 是修饰符(关键字)如果一个类被声明为 final,意味着它
不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被
声明为 abstract,又被声明为 final。将变量或方法声明为 final,可以
保证它们在使用中不被改变。被声明为 final 的变量必须在声明时给
定初值,而在以后的引用中只能读取,不可修改。被声明为 final 的
方法也同样只能使用,不能重载。
Finally是在异常处理时提供 finally 块来执行任何清除操作。如
果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会
进入 finally 块(如果有的话),只要有 finally 语句块,无论程序如何
运行,它都必然被执行到。
6. String s = new String("xyz");创建了几个 String Object?
答:创建了两个,一个字符对象,一个引用对象
7. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么
错?
答:两个错误都是一样的,后者只是加法的写法不一样,两个错
误都是因为 s1 是 short 型而 1 是整型相加后数据类型就变为整型了,
与 s1 定义为 short 型有矛盾,必须进行强制类型转换才正确。
8. 数组有没有length()这个方法? String有没有length()这个方法?
答:数组没有,String有。
9. Overload 和 Override 的区别
答:方法的覆盖(Overriding)和重载(Overloading)是 Java 多态性的
不同表现。覆盖(Overriding)是父类与子类之间多态性的一种表现,重
载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某
方法与其父类有相同的名称和参数,我们说该方法被覆盖
(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对
它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个
同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为
方法的