java 令新手头疼的static和final关键字

本文面向Java新手,详细介绍了static和final关键字的用法。static用于修饰变量、方法和块,创建类级别的共享资源,无需对象即可访问。final则用于定义不可变变量、防止方法覆盖和禁止类继承。理解这两个关键字对于编写健壮的Java代码至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 令新手头疼的static和final关键字

本文章专门针对新手而写,不会涉及到复杂的原理,主要帮助新手理解和理清思路。


目录

一,static关键字
1.static变量
2.static方法
3.static块

二,final关键字
1.final变量
2.final方法和final类

三,final和static共用


一,static关键字

一.1 static变量
在java中static修饰的变量被叫做静态变量,static修饰的变量只能在类中,方法外的全局变量,在Java中实例变量也就是普通的声明变量属于该对象所有,而static修饰的变量归类所有,也就是说不需要对象引用,直接可以用类名.变量调用。

//static变量,该变量不能在方法中声明
public static String = "Hello,java";

一.2 static方法
static用简单的话去理解就是把一个方法绑定给类,可以直接用类名.方法()实现。static方法是属于类的,因此不可以使用this关键字获取对象引用。

public class StaticFunction(){
   //静态方法
    public static void  text1(){
    //。。。
  }
  
  //非静态方法
    public void  text2(){
    //。。。
  }
  
}

public class Main(){

public static void main(String[] args){
//对象调用方法
  StaticFunction sf=new  StaticFunction();
      //报错,无法调用。sf.text1();
  sf.text2();
  
//类直接调用方法
StaticFunction.text1();
    //报错,无法调用。StaticFunction.text2();

}

}

一.3 static块
static块一般用于类的初始化,构建类,类创建时运行,减少代码冗余,浪费内存空间(不常用)。

//static变量,该变量不能在方法中声明
static {

}

二,final关键字

二.1 final变量
final修饰的变量要初始化,且一旦初始化后不能再被修改。

//static变量,该变量不能在方法中声明
final int a = 10;
final int b ;
final int c ;
//a=100;报错,无法修改
b=100;
System.out.prinln(b);
//打印b,正常输出100;

//System.out.prinln(c++); 报错,未初始化无法递加,初始化后不可修改。

二.1 final方法
final修饰的变量要初始化,且一旦初始化后不能再被修改。

二.1 final方法和final类
被final修饰的方法和类被叫做太监,没有子孙。final修饰方法,该方法不可被子类重写覆盖,final修饰类,该类不可以被继承。

三,final和static共用

static和final共用:

    static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!

    对于变量,初始化之后不可以更改值,并且通过类名可以访问。
    
    对于方法,表示不可覆盖,并且可以通过类名直接访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

吃掉计算机原理

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

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

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

打赏作者

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

抵扣说明:

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

余额充值