try{}catch{}finally{}
1 package com.xiaou.test1; 2 3 public class FinallyDemo { 4 // 第一种情况 5 public static int test1() { 6 try { 7 return 1; 8 }catch(Exception e) { 9 return 2; 10 }finally { 11 return 3; 12 } 13 } 14 // 第二种情况 15 public static int test2() { 16 int i = 0; 17 try { 18 i++; 19 return i; 20 21 }catch(Exception e) { 22 return 2; 23 }finally { 24 i--; 25 } 26 } 27 // 第三种情况 28 public static int test3() { 29 try { 30 int i = 1/0 ; 31 return i; 32 }catch(Exception e) { 33 return 1; 34 }finally { 35 System.out.println("我被执行了"); 36 } 37 } 38 public static void main(String[] args) { 39 // 返回的是3 40 // 因为finally代码块无论是报错还是在try代码块中return了他将都会执行 41 System.out.println(test1()); 42 // 返回的是1 43 // 因为在执行到return的时候会将值保存直到finally执行完成后返回, 44 //所以finally怎么改变这个值都不会受到影响 45 System.out.println(test2()); 46 System.out.println(test3()); 47 } 48 }
JAVA的初始化顺序:
父类的静态成员初始化>父类的静态代码块>子类的静态成员初始化>子类的静态代码块>父类的代码块>父类的构造方法>子类的代码块>子类的构造方法
注意:静态成员和静态代码块只有在类加载的时候执行一次,再次创建实例时,不再执行,因为只在方法区存在一份,属于一整个类。
java.lang 包中不能被继承的类
1 public final class Byte 2 public final class Character 3 public static final class Character.UnicodeBlock 4 public final class Class<T> 5 public final class Compile 6 public final class Double 7 public final class Float 8 public final class Integer 9 public final class Long 10 public final class Math 11 public final class ProcessBuilder 12 public final class RuntimePermission 13 public final class Short 14 public final class StackTraceElement 15 public final class StrictMath 16 public final class String 17 public final class StringBuffer 18 public final class StringBuilder 19 public final class System 20 public final class Void
继承
子类继承父类的所有成员,包括private、final、这些方法虽然不能被子类直接调用但是可以通过反射的方式调用,构造方法不属于成员所以不会被继承,但子类可通过super来调用父类的构造方法
Oracle官方文档 地址
A subclass inherits all the members (fields, methods, and nested classes) from its superclass. Constructors are not members, so they are not inherited by subclasses, but the constructor of the superclass can be invoked from the subclass.
final 标识符
一:
9、被final修饰的变量,进行运算操作的时候不会自动改变类型
Java表达式转型规则由低到高转换:
2、如果有一个操作数是long型,计算结果是long型;
3、如果有一个操作数是float型,计算结果是float型;
本文深入探讨Java中try-catch-finally语句的执行机制,解析不同场景下finally块如何影响方法返回值。同时,全面讲解final关键字在变量、方法及类中的应用,及其对代码的影响。

被折叠的 条评论
为什么被折叠?



