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 }

 

posted @ 2021-05-27 20:38  yub4by  阅读(112)  评论(0编辑  收藏  举报