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 }