Java学习4

来源:互联网 发布:手机游戏java下载 编辑:程序博客网 时间:2024/06/11 03:18

这两天看了一下Java面试宝典,总结一些细节性的东西

1.类型转换:switch(expr1),expr1只能是整数表达式或者枚举常亮,整数表达式可以是int或者Integer,由于short,byte,char都可以隐含转换为int,所以这些类型以及其包装类也是可以的。那么long,string是不可以的,就不能作用于switch中了。

2.如果一个类没有自己定义equals方法,默认的equals方法是使用==操作符的

3.static方法不能调用非static方法原因是非static方法是与实例对象相关的,调用时并不知道作用到哪个对象

4.public,private,protected,friendly作用域

作用域  当前类 同一包 子孙类 其他包

public     ok         ok          ok        ok

protected ok       ok           ok

friendly    ok        ok        

private    ok

5.overload重载是同一个类中有多个名称相同的方法,这些方法的作用域要相同

   override是覆盖是子类和父类有重名方法,多态的一种动态绑定表现机制,被覆盖的方法则不能为private

构造器Constructor不能被继承,因此不可以override,但是可以overload

6.内部类定义在外部方法中访问权限肯定是private,但可以用fianl或者abstract修饰

   定义在外部类中访问类型可以多种,因此可以在外部类外面创建内部类,前提是创建了外部类实例

7.定义在外部类方法外的内部类加上static修饰符就是static nested class。这种类的引用就是外部类名.内部类名即可。静态方法中定义的内部类就不需要加static了。访问静态方法的局部变量时变量前面要加final

8.抽象的方法就是需要子类去实现的,那么就不能是static的

9.getClass方法定义为fianl是不能覆盖的

10.String类覆盖了equals,hashCode方法,但StringBuffer没有,将这种类型对象存入到集合类中就会出现问题

0 0
原创粉丝点击