1、修饰符public、protected、private以及不写时的作用域的区别 ?
修饰符 | 当前类 | 同一package | 子孙类 | 其它package |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
缺省friendly | √ | √ | × | × |
private | √ | × | × | × |
2、 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) ?
匿名的内部类是没有名字的内部类。不能extends继承其它类。但一个内部类可以作为一个接口,由另一个内部类实现。
3、&和&&的区别 ?
&是位运算符,表示按位与运算;
&&是逻辑运算符,表示逻辑与(and)。
4、Collection和Collections的区别 ?
Collection是集合类的上级接口,继承与它的接口主要有Set和List;
Collections是针对集合类的一个帮助类,它提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
5、String s = new String("abc");创建了几个String Object ?
两个。一个字符对象,一个字符对象引用对象。
6、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 ?
Math.round(11.5)==12; Math.round(-11.5)==-11;
说明:round() 方法可把一个数字舍入为最接近的整数。
对于 0.5,该方法将进行上舍入。3.5 将舍入为 4,而 -3.5 将舍入为 -3。
7、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;(可以正确编译)。
8、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,但有length的属性。String有length()这个方法。
9、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型 ?
方法的重写Override和重载Overload是Java多态性的不同表现。
重写Override是父类与子类之间多态性的一种表现。
重载Overload是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Override)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overload)。
Overloaded的方法是可以改变返回值的类型。