2、final和static关键字

    2、final和static关键字

        (1)、final关键字

            ①、修饰类

                当用final去修饰一个类的时候,表示这个类不能被继承。

                注:

                    a、被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为final。

                    b、final类中的成员方法都会被隐式的指定为final方法。

            ②、修饰方法

                被final修饰的方法不能被重写。

                注:

                    a、 一个类的private方法会隐式的被指定为final方法。

                    b、如果父类中有final修饰的方法,那么子类不能去重写。

            ③、修饰成员变量

                必须要赋初始值。被fianl修饰的成员变量赋值,有两种方式:1、直接赋值 2、全部在构造方法中赋初值。

                注:

                    a、如果修饰的成员变量是基本类型,则表示这个变量的值不能改变。

                    b、如果修饰的成员变量是一个引用类型,则是说这个引用的地址的值不能修改,但是这个引用所指向的对象里面的内容还是可以改变的。

        (2)、static关键字

            方便在没有创建对象的情况下来进行调用。

            ①、修饰类

                普通类是不允许声明为静态的,只有内部类才可以,常用的静态内部类。

            ②、修饰方法

                静态方法可以直接通过类名调用。

                注:

                    a、构造器不是静态方法。静态方法中不能使用this,而构造器中可以使用this关键字。this是指调用当前方法的对象,而静态方法不属于任何对象。

                    b、在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法和静态成员变量。

            ③、修饰变量

                被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于是对象,没有被static修饰的成员变量叫做实例变量,说明这个变量是属于某个具体的对象的。

                静态变量和实例变量的区别

                a、生命周期的不同:

                    成员变量随着对象的创建而存在随着对象的回收而释放。

                    静态变量随着类的加载而存在随着类的消失而消失。

                b、调用方式不同:

                    成员变量只能被对象调用。

                    静态变量可以被对象调用,也可以用类名调用。(推荐用类名调用)

                c、别名不同:

                    成员变量也称为实例变量。

                    静态变量称为类变量。

                d、数据存储位置不同:

                    成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。

                    静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

            ④、修饰代码块

                被static修饰的代码块叫做静态代码块,静态代码块在类第一次被载入时执行。

            ⑤、类的初始化顺序

                a、父类静态变量

                b、父类静态代码块

                c、子类静态变量

                d、子类静态代码块

                e、父类普通变量

                f、父类普通代码块

                g、父类构造函数

                h、子类普通变量

                i、子类普通代码块

                j、子类构造函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值