final,finally,finalize小结

来源:互联网 发布:永创科技淘宝 编辑:程序博客网 时间:2024/05/16 15:48

面试的时候经常被问到这个问题,在网上查了一下资料,自己记录一下

final

final修饰的类,不可继承

finally

try/catch/finally中的用法

public class test {public static void main(String[] args) {test t = new test(); System.out.println("--测试return语句--");        t.testReturn();        System.out.println("--测试continue语句--");             t.testContinue();           System.out.println("--测试break语句--");           t.testBreak();  }    public ReturnClass testReturn() {           try {               return new ReturnClass();           } catch (Exception e) {               e.printStackTrace();           } finally {               System.out.println("  执行了finally语句");           }           return null;       }       public void testContinue() {           for (int i = 0; i < 3; i++) {               try {                   System.out.println(i);                   if (i == 1) {                       continue;                   }               } catch (Exception e) {                   e.printStackTrace();               } finally {                   System.out.println("  执行了finally语句");               }           }       }       public void testBreak() {           for (int i = 0; i < 3; i++) {               try {                   System.out.println(i);                   if (i == 1) {                       break;                   }               } catch (Exception e) {                   e.printStackTrace();               } finally {                   System.out.println("  执行了finally语句");               }           }       }    class ReturnClass {           public ReturnClass() {               System.out.println("  执行了return语句");           }       }  }
--测试return语句--  执行了return语句  执行了finally语句--测试continue语句--0  执行了finally语句1  执行了finally语句2  执行了finally语句--测试break语句--0  执行了finally语句1  执行了finally语句

每次从try/catch中跳出都要运行finally的方法

在continue,break,return之前执行finally方法

finalize

Object类的一个方法,系统GC的时候调用

 

 

原创粉丝点击