JAVA基础(关键字--final)

1,final概述

  • final关键字可用于修饰类、方法和变量,final修饰的类不能被继承;

  • final修饰的方法不可被重写;

  • final修饰的变量不可被改变。

  • final: 最终的。

2,final修饰特点

  • 修饰类,类不能被继承

  • 修饰变量,变量就变成了常量,只能被赋值一次

  • 修饰方法,方法不能被重写

class Demo1_Final {

    public static void main(String[] args) {

        Son s = new Son();

        s.print();

    }

}



/*final class Father {

    public void print() {

        System.out.println("访问底层数据资源");

    }

}*/





class Son /*extends Father*/ {

    final int NUM = 10;                        

    //常量命名规范,如果是一个单词,所有字母大写,如果是多个单词,每个单词都大写,中间用下划线隔开

    public static final double PI = 3.14;   

     //final修饰变量叫做常量,一般会与public static共用

    public void print() {

        //NUM = 20;

        System.out.println(NUM);

    }

}

 

3,final关键字修饰局部变量

【2】基本类型,是值不能被改变

【3】引用类型,是地址值不能被改变,对象中的属性可以改变

class Demo2_Final {

    public static void main(String[] args) {

        final int num = 10;

        //num = 20;

        System.out.println(num);





        final Person p = new Person("张三",23);

        //p = new Person("李四",24);

        p.setName("李四");

        p.setAge(24);





        System.out.println(p.getName() + "..." + p.getAge());





        method(10);

        method(20);

    }





    public static void method(final int x) {

        System.out.println(x);

    }

}



class Person {

    private String name;            //姓名

    private int age;                //年龄





    public Person(){}                //空参构造





    public Person(String name,int age) {

        this.name = name;

        this.age = age;

    }





    public void setName(String name) {    //设置姓名

        this.name = name;

    }





    public String getName() {        //获取姓名

        return name;

    }





    public void setAge(int age) {    //设置年龄

        this.age = age;

    }





    public int getAge() {            //获取年龄

        return age;

    }

}

 

 

4,final修饰变量的初始化时机)

  • 显示初始化

  • 在对象构造完毕前即可

class Demo3_Final {

    public static void main(String[] args) {

        Demo d = new Demo();

        d.print();

    }

}

/*

* A:final修饰变量的初始化时机

    * 显示初始化

    * 在对象构造完毕前即可

*/





class Demo {

    final int num;                        //成员变量的默认初始化值是无效值

    

    public Demo() {

        num = 10;

    }

    public void print() {

        System.out.println(num);

    }

}

    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值