static 静态变量

本文详细介绍了Java中的静态变量、静态方法和静态代码块的概念,讨论了它们的访问方式、内存管理和使用场景。特别强调了工具类的设计原则,提倡基于代码复用和内存效率的考虑,为何选择静态方法而非实例方法。
摘要由CSDN通过智能技术生成

static

静态变量:

static修饰的变量称为静态变量,静态变量属于类,而不是属于类的实例,
所有实例共享一个静态变量(访问、修改)

public class MyClass {
	public static int count; // 静态变量
}
静态方法:

static修饰的方法称为静态方法,静态方法可以直接通过类名调用,无需创建类的实例。

	public class MyClass {
		public static void printMessage() { // 静态方法
			System.out.println("Hello, world!");
		}
	}
静态代码块:

使用static关键字修饰的代码块称为静态代码块,静态代码块在类加载时执行,用于执行静态变量的初始化或者其他静态操作

public class MyClass {
	static {
		// 静态代码块
		System.out.println("Static block is executed.");
	}
}



注意点
  • 静态变量、静态方法,可以直接通过类名访问(类名.静态变量、类名.静态方法),无需创建类的实例。

  • 静态方法中,不能直接访问非静态变量和非静态方法,只能访问其他静态成员。

  • 静态变量、静态方法属于类而不是对象,因此它们在内存中只有一份拷贝,所有对象共享。

  • 静态方法不能被声明为抽象方法,因为静态方法属于类而不是对象。

  • 静态方法中,不可以出现this关键字。

使用场景:
  • 表示对象自己的行为的,且,方法中需要访问实例成员的,则该方法必须定义成实例方法

  • 如果该方法是以执行一个共用功能为目的,则可以定义成静态方法




static应用知识:工具类

概念:类中都是一些静态方法,每个方法都是以完成一个共用的功能为目的,这个类用来给开发人员共同使用的。

好处:一是调用方便,二是提高了代码复用(一次编写,处处可用)

为什么工具类中的方法不用实例方法做?
因为,实例方法需要创建对象调用,此时创建对象只是为了调用方法,这样只会浪费内存。

工具类定义时的其他要求:
因为,工具里面都是静态方法,直接用类名即可访问,
所以,工具类无需创建对象,建议将工具类的构造器进行私有

声明一个工具类

src/util文件夹中,新建Code.java

import java.util.Random;

public class Code{
	public static String verification(int n) {
		Random random = new Random();
		String code = "";

		for(int i=0; i<n; i++){
			int type = random.nextInt(3); // 生成一个0到2之间的随机整数(包含0和2)
			switch(type){
				case 0: // 大写字母
					char ch = (char)(random.nextInt(26)+65);
					code += ch;
					break;
				case 1: //小写字母
                    char ch1 = (char) (random.nextInt(26)+97);
                    code += ch1;
                    break;
                 case 2: //数字
                    code += random.nextInt(10);
                    break;
			}
		}

		return code;
	}
}

使用这个工具类
src/project文件夹中,新建base.java


import util.Code;

public class Base {
    public static void main(String[] args) {

		// 使用工具类
        System.out.println(Code.verification(5));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值