JavaSE-10.4.3【fianl关键字】
1 package day1.yppah04.p5; 2 3 /* 4 4.4 final 5 6 fianl关键字的作用 7 final代表最终的意思,可以修饰成员方法,成员变量,类 8 final修饰类、方法、变量的效果 9 fianl修饰类:该类为最终类,不能被继承(不能有子类,但是可以有父类) 10 final修饰方法:该方法为最终方法,不能被重写 11 final修饰变量:表明该变量是一个常量,不能再次赋值 12 13 */ 14 15 public class Demo { 16 17 public static void main(String[] args) { 18 Zi z = new Zi(); 19 z.method(); 20 21 z.show(); 22 } 23 24 }
1 package day1.yppah04.p5; 2 3 public class Fu { 4 5 // public void method(){ 6 // System.out.println("Fu method"); 7 // } 8 9 public final void method(){ 10 System.out.println("Fu method"); 11 } 12 13 } 14 15 /*public final class Fu { 16 17 public final void method(){ 18 System.out.println("Fu method"); 19 } 20 21 }*/
1 package day1.yppah04.p5; 2 3 public class Zi extends Fu{ //class Fu被final修饰后不能再被继承 4 5 /*@Override 6 public void method() { //父类中method()被final修饰后不可再被重写 7 System.out.println("Zi method"); 8 }*/ 9 10 public final int age = 10; 11 12 public void show(){ 13 // age = 20; //age被final修饰后不可再被修改,已为常量 14 System.out.println(age); 15 } 16 17 }
1 package day1.yppah04.p5; 2 3 /* 4 4.5 final修饰局部变量 5 6 fianl修饰基本数据类型变量 7 final 修饰指的是基本类型的数据值不能发生改变 8 final修饰引用数据类型变量 9 final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的 10 11 */ 12 13 public class FinalDemo { 14 public static void main(String[] args) { 15 final int age = 10; 16 // age = 100; //final修饰后error 17 System.out.println(age); 18 19 final Student s = new Student(); 20 s.age = 100; //final修饰后ok 21 System.out.println(s.age); 22 23 // s = new Student(); //error 24 } 25 }
1 package day1.yppah04.p5; 2 3 public class Student { 4 public int age = 20; 5 }