JXNU1999python 发表于 2021-12-5 18:47

Java自学笔记Day18

<font face="微软雅黑" size=5 color=#660000 >
Java学习笔记Day18
一、今日学习:

面向对象第七节

二、学习目标

1、final关键字的使用

三、学习内容

1、final关键字:表示最终的不可变的。

(1)、final修饰的class对象不能被继承。

        final public class Finally {
                   public static void man(){
                       
               }
        }
        public class Test01 extends Finally{

        }//因为class加上了final修饰,所以Test01无法继承Finally。
(2)、final修饰的方法无法进行重写。

        public class Finally {
               final public static void man(){
                       System.out.println("666");
               }
        }
        public class Test01 extends Finally{
                public static void man(){//这里无法进行方法重写,因为继承的方法带有final,无法重写。
                       System.out.println("666");
                }
        }

(3)、final修饰的变量被赋值后,不能重写赋值(二次赋值)。

        public static void main(String[] args) {
                int a=1;
                a=10;//没被final修饰的变量可以二次赋值
                final int i=1;
                i=10;//不合法,不能二次赋值
        }

(4)、final修饰的实例变量,必须手动赋值,不能采用系统默认值。

        public class Pet {
        final int age;//一旦这样做,会报错,final修饰的实例变量不允许采用系统默认值
        final int num=1;
                public void eat(){
                }
        }

(5)、final修饰的引用一旦指向一个对象,不能再指向其他对象。

        public class User {
                public void idcard(int i){
                        System.out.println(i);
                }
                int id;
                String name;
        }
        public static void main(String[] args) {
                User u=new User();
                //创建一个新的对象后,这里旧的u对象会被编程垃圾数据,等待垃圾回收器回收
                u=new User();
               
        }
        public static void main(String[] args) {
                final User u=new User();
                //创建一个新的对象后,这里旧的u对象会被编程垃圾数据,等待垃圾回收器回收
                u=new User();//因为有final修饰,所以u无法指向一个新的对象。
               
        }


(6)、final修饰的实例变量;一般和static联合使用,称为常量。
public static final 类型 常量=值;
例如

        public static final String GUO_JI = "中国";
四、java基础课程即将完成,下周开始复习计划。指定进阶学习计划。
人生苦短,我学python(java)

幼稚王子 发表于 2021-12-5 19:19

怎么回事

JamLau 发表于 2021-12-5 19:38

看哪一套教程比较好?

不起名的我 发表于 2021-12-5 21:36

人生苦短,我学C++(bushi

云飞扬1 发表于 2021-12-5 22:58

学习一下

KatharsisKing 发表于 2021-12-6 01:14

RedLips彡 发表于 2021-12-6 08:44

JamLau 发表于 2021-12-5 19:38
看哪一套教程比较好?

b站 尚硅谷
页: [1]
查看完整版本: Java自学笔记Day18