Java中static、final关键字的使用探讨

1.static含义

        static顾名思义字面意思为静态的,我们之前所学的类中的属性和方法都是对象所拥有的,通过对象去调用属性和方法,每个对象的属性和方法都有所不同,这就造就了对于不同对象而属性和方法相同的时候,会出现繁琐的情况,为此,我们通过建立static静态属性和方法的方式来解决此问题。

 2.从内存的角度来探讨static

        从内存的角度来讲, 每个对象都会有属于自己的一片空间,但static修饰的是大家公用的,不属于任何一个对象,这块空间是独立的,这块空间在方法区中。

        从代码角度来讲,所有属于对象的属性初始化过程是在对象被创建之后,但static修饰的属性和方法由于不属于对象,因此初始化的过程在main函数执行之前就完成了。

3.静态块

    静态块是在static关键字后面加一个大括号,静态块的目的是做一些初始化过程,在main函数执行之前就已经执行了。

4.静态方法和属性

    静态属性和方法的调用是由类名+属性或方法来完成的,因为用static修饰的属性和方法是类共有的,不是对象自己的,但对象也可以调用属性和方法,但一般不建议。

    在非静态方法中,可以调用静态属性和方法,而在静态方法中,不能调用非静态属性和方法。

下面是一段关于静态属性和方法的代码:

package pack0804;

/**
 * @author
 * @description:static关键字
 * @date 2021/8/4 16:40
 * @verson 1.0
 */
public class Demo6 {
    private static String name;//声明静态属性

    public static String getName() {
        return name;
    }

    public static void setName(String name) {
        Demo6.name = name;
    }

    /**
    *@description:声明静态方法
    *@Date:2021/8/4 16:42
    */
    public static void getInformation(){
        System.out.println("这个人的姓名是:"+name);
    }

    public static void main(String[] args) {
        //创建姓名
        Demo6.setName("张无忌");
        //调用方法
        Demo6.getInformation();
    }
}

5.final关键字

    用final修饰的属性是常量,无法进行修改,且属性需要进行大写,用final修饰的类不能被继承。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值