静态方法static,静态代码块
为什么工具类中的方法不用实例方法做?
1.实例方法需要创建对象调用
2.此时用对象只是为了调用方法,这样只会浪费内存。
工具类定义时的其他要求:
由于工具里面都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器进行私有
public class ItYxg{private ItYxg(){}//***将构造器私有化!!***/*静态方法*/public static String createVerifyCode(int n){//开发一个验证码String code = "";String date="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";Random r = new Random();for (int i = 0; i < n; i++) {int index = r.nextInt(date.length());code+= date.charAt(index);}return code;}}
静态代码块:
格式:static{}
特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次。
使用场景:在类加载的时候做一些静态数据初始化的操作,以便后续使用。
例
public static String schoolName;public static ArrayList<String> cards = new ArrayList<>();static {System.out.println("静态代码块被执行了!");schoolName="xzit";cards.add("K");}
实例:初始化斗地主的54张牌
import java.util.ArrayList;public class staticTest {/*1.定义一个静态集合,这样这个集合只加载一次,因为一个房间只需要一副牌*/public static ArrayList<String> cards = new ArrayList<>();/*2.在程序真正运行main方法前把54张牌放进去,后续游戏可以直接使用。*/static {//3.做牌放到集合中去。//定义一个数组存储全部点数:类型确定了,数量确定了String[] sizes = {"3","4","5","6","7","8","9","10","J","Q","K"};//定义一个数组存储全部花色String[] colors = {"♥","♦","♣","♠"};//遍历点数for (int i = 0; i < sizes.length; i++) {for (int j = 0; j < colors.length; j++) {String card = sizes[i]+colors[j];cards.add(card);}}//单独加入大小王cards.add("小
静态方法static,静态代码块相关推荐
- JAVA入门级教学之(static静态代码块)
定义一个测试类测试static静态代码块: package com.lbj.javase08; /*** 可以使用static关键字来定义"静态代码块"* * 1.语法格式:* s ...
- Java基础-day08-static·static静态代码块·final 关键字·多态·汽车设计综合案例·异常
day09 1.static 是java中的一个关键字 用于修饰成员(成员变量和成员) 1.static是一个关键字 2.static可以修饰成员变量和方法,被修饰的资源就是静态资源 3.静态资源优先 ...
- java静态代码块和静态变量_Java中的静态变量、静态方法与静态代码块
我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程. 其中静态代码在类的初始化阶段被初始化.而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静态变 ...
- Static静态代码块以及各代码块之间的执行顺序
前言 在Java中,Static静态代码块.构造代码块.普通代码块.构造函数的执行顺序是一个java学习者必须掌握的基础,本篇博客旨在让大家能清除了解它们之间的执行顺序. 文章目录 代码块的分类 1. ...
- static{}静态代码块与{}普通代码块和构造代码块之间的区别
public class TestStatic {{System.out.println("构造代码块");}TestStatic() {System.out.println(&q ...
- Java static 静态代码块、代码块
简述 static{} 静态代码块,加载类之前执行 {} 代码块,每次new的时候都会被执行 示例 类: public class Student {int age;String name;boole ...
- shaderTextView 闪动文字,static{}(静态代码块)与{}(非静态代码块)的异同点
目录 shaderTextView 闪动文字 static{}(静态代码块)与{}(非静态代码块)的异同点 shaderTextView 闪动文字 package com.example.zhan ...
- static静态代码块
static静态代码块 public class Person {// 静态代码块:在类加载时候执行静态代码块,只会执行一次static {System.out.println("Perso ...
- smali语言详解之static静态代码块的声明与静态变量初始化赋值位置
smali语言详解之static静态代码块的声明与静态变量初始化赋值位置 一.smali语言的静态代码块声明格式 .method static constructor <clinit>() ...
- Java中的static静态代码块
一.与静态方法的比较 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要 ...
最新文章
- 深度学习(计算机视觉方向)小白入门的一些建议
- .net知识和学习方法系列(七)string类型
- Leetcode 104.二叉树的最大深度 (每日一题 20210625)
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-10底层驱动之I2C
- AI理论知识整理(3)-正定矩阵
- Python编程语言简介
- Day3-----delayPrompt
- 解决Button设置disabled后无法执行后台代码问题
- 搜索引擎学习(四)中文分词器
- 代码练习中的bug及修改方法
- 好评率超高的几个硬核公众号,99%的程序员都关注了!
- 移动开发痛点之一-接口验证之PostMan图文教程
- Unity 3D 射线检测方法
- Jupyter启动报错 ImportError: DLL load failed while importing error
- 物联网与嵌入式是什么关系
- 那些年我们一起追过的稀奇古怪的SQL
- Flashpaper去掉toolbar,去掉打印的方法
- Linux文件锁(Filelock)是什么,怎么用?
- javaSE I/O流(二)—— 各种各样的流
- Flume跨服务器采集数据
热门文章
- 梅特卡夫定律与网络价值
- RabbitMQ的相关概念以及RabbitMQ的安装
- 怎么把excel文件转成dta_如何将excel表格数据转化为dta格式-怎么把dat文件转换成Excel文件,里面的数据格式要......
- 【接口篇 / Wan】(7.0) ❀ 02. 配置路由器上网 ❀ FortiGate 防火墙
- 每个人小时候都有一个小小的梦
- linux打地鼠课程设计,数字电路课程设计打地鼠.doc
- 电话号码对应英文单词
- 数据分析之淘宝数据简介
- Mac 远程连接树莓派-不使用拓展坞
- FFmpeg MP4 m3u8 视频 相互转换