diff --git a/day11/src/com/inmind/final01/Demo01.java b/day11/src/com/inmind/final01/Demo01.java index 469349a..37a2eba 100644 --- a/day11/src/com/inmind/final01/Demo01.java +++ b/day11/src/com/inmind/final01/Demo01.java @@ -1,4 +1,7 @@ package com.inmind.final01; + +import java.util.Arrays; + /* final:被它修饰,不能够被改变 final的4个用法: @@ -14,6 +17,46 @@ final与abstract是冲突,不能一起使用 2: final关键字用于修饰方法:该方法就不能被子类重写 + +3: +final关键字用于修饰局部变量 +局部变量: +1.基本数据类型:保存的值真正的值,表示该值赋值之后不能被修改的 +2.引用数据类型: 保存的值是地址值。引用数据类型地址不变,所指向的内容可以改变 */ public class Demo01 { + public static void main(String[] args) { + final int i = 10;//基本数据类型 + //i = 20;//被final修饰的变量不能修改,它已经成为了常量 + System.out.println(i); + System.out.println("-------------------------"); + //引用数据类型 + final int[] arr = {1, 2, 3};//arr中保存的是地址 + System.out.println(arr); + System.out.println(Arrays.toString(arr)); + //引用数据类型: 保存的值是地址值。引用数据类型地址不变,所指向的内容可以改变 + //修改数组的内容 + arr[0] = 10; + arr[1] = 20; + arr[2] = 30; + System.out.println(arr); + System.out.println(Arrays.toString(arr)); + + //对于类呢???也是一样的!!!! + final Student s = new Student("张三", 18); + System.out.println(s); + System.out.println(s.name); + System.out.println(s.age); + System.out.println("------------修改final修饰的对象的内容-------------"); + s.name = "王五"; + s.age = 20; + System.out.println(s); + System.out.println(s.name); + System.out.println(s.age); + //s = new Student("张三", 18);对final修饰的引用数据类型对象不能重新赋值 + + + + + } } diff --git a/day11/src/com/inmind/final01/Student.java b/day11/src/com/inmind/final01/Student.java new file mode 100644 index 0000000..a43f2c3 --- /dev/null +++ b/day11/src/com/inmind/final01/Student.java @@ -0,0 +1,11 @@ +package com.inmind.final01; + +public class Student { + String name; + int age; + + public Student(String name, int age) { + this.name = name; + this.age = age; + } +}