Java刷题总结
Java刷题总结
文章目录
Java语法
finally中执行顺序与return的关系
Java中面向对象
1、一些点
2、实现接口与继承类重写方法的一些规则
3、接口与抽象类的区别
4、继承类与实现接口的区别
5、类名的修饰符
多线程
Thread类的方法
JVM
1、内存回收的时机
finally中执行顺序与return的关系
1、finally块一定会执行,无论是否try…catch。
2、finally前有return(finally中没有return语句),会先执行return语句,并保存下来,再执行finally块,最后return之前保存的结果。
3、finally前有return、finally块中也有return,先执行前面的return,保存下来,再执行finally的return,覆盖之前的结果,并返回。
1、一些点
子类构造方法在调用时,必须先调用父类 super,若没有写出super的方法,则默认调用无参的super
2、实现接口与继承类重写方法的一些规则
方法与实现接口时进行方法重写的一些规则,两同两小一大
方法名相同,参数类型相同
子类返回类型小于等于父类返回类型
子类抛出异常小于等于父类方法抛出异常
子类访问权限大于等于父类方法访问权限
1、声明为final的方法不能被重写。
2、声明为static的方法不能被重写,但是能够被再次声明。
3、子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
4、子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法。
3、接口与抽象类的区别
一个子类只能继承一个抽象类,但能实现多个接口
抽象类可以有构造方法,接口没有构造方法
抽象类可以有普通成员变量,接口没有普通成员变量
抽象类和接口都可有静态成员变量,抽象类中静态成员变量访问类型任意,接口只能public static final(默认)
抽象类可以没有抽象方法,抽象类可以有普通方法,接口中都是抽象方法
抽象类可以有静态方法,接口不能有静态方法
抽象类中的方法可以是public、protected;接口方法只有public
4、继承类与实现接口的区别
5、类名的修饰符
1、外部类只能被public、abstract、final、(default)修饰
2、private修饰类的话只能修饰内部类
3、内部类可以被public、abstract、final、(default)、private修饰
4、内部类是外部类的一个成员,所以可以访问外部类的私有属性
5.同包无需导入即可使用,因为外部类不会是private的
Thread类的方法
thread.join把指定的线程加入到当前线程,可以将两个交替执行的线程合为顺序执行的线程,比如在线程B中调用了线程A的join方法,直到线程A执行完毕后,才会继续执行线程B.
1、内存回收的时机
1,新生代:(1)所有对象创建在新生代的Eden区,当Eden区满后触发新生代的Minor GC,将Eden区和非空闲Survivor区存活的对象复制到另外一个空闲的Survivor区中。(2)保证一个Survivor区是空的,新生代Minor GC就是在两个Survivor区之间相互复制存活对象,直到Survivor区满为止。
2,老年代:当Survivor区也满了之后就通过Minor GC将对象复制到老年代。老年代也满了的话,就将触发Full GC,针对整个堆(包括新生代、老年代、持久代)进行垃圾回收。
3,持久代:持久代如果满了,将触发Full GC。
Java刷题总结相关教程