为什么工具类中的方法不用实例方法做?

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,静态代码块相关推荐

  1. JAVA入门级教学之(static静态代码块)

    定义一个测试类测试static静态代码块: package com.lbj.javase08; /*** 可以使用static关键字来定义"静态代码块"* * 1.语法格式:* s ...

  2. Java基础-day08-static·static静态代码块·final 关键字·多态·汽车设计综合案例·异常

    day09 1.static 是java中的一个关键字 用于修饰成员(成员变量和成员) 1.static是一个关键字 2.static可以修饰成员变量和方法,被修饰的资源就是静态资源 3.静态资源优先 ...

  3. java静态代码块和静态变量_Java中的静态变量、静态方法与静态代码块

    我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程. 其中静态代码在类的初始化阶段被初始化.而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静态变 ...

  4. Static静态代码块以及各代码块之间的执行顺序

    前言 在Java中,Static静态代码块.构造代码块.普通代码块.构造函数的执行顺序是一个java学习者必须掌握的基础,本篇博客旨在让大家能清除了解它们之间的执行顺序. 文章目录 代码块的分类 1. ...

  5. static{}静态代码块与{}普通代码块和构造代码块之间的区别

    public class TestStatic {{System.out.println("构造代码块");}TestStatic() {System.out.println(&q ...

  6. Java static 静态代码块、代码块

    简述 static{} 静态代码块,加载类之前执行 {} 代码块,每次new的时候都会被执行 示例 类: public class Student {int age;String name;boole ...

  7. shaderTextView 闪动文字,static{}(静态代码块)与{}(非静态代码块)的异同点

    目录 shaderTextView  闪动文字 static{}(静态代码块)与{}(非静态代码块)的异同点 shaderTextView  闪动文字 package com.example.zhan ...

  8. static静态代码块

    static静态代码块 public class Person {// 静态代码块:在类加载时候执行静态代码块,只会执行一次static {System.out.println("Perso ...

  9. smali语言详解之static静态代码块的声明与静态变量初始化赋值位置

    smali语言详解之static静态代码块的声明与静态变量初始化赋值位置 一.smali语言的静态代码块声明格式 .method static constructor <clinit>() ...

  10. Java中的static静态代码块

    一.与静态方法的比较 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要 ...

最新文章

  1. 深度学习(计算机视觉方向)小白入门的一些建议
  2. .net知识和学习方法系列(七)string类型
  3. Leetcode 104.二叉树的最大深度 (每日一题 20210625)
  4. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-10底层驱动之I2C
  5. AI理论知识整理(3)-正定矩阵
  6. Python编程语言简介
  7. Day3-----delayPrompt
  8. 解决Button设置disabled后无法执行后台代码问题
  9. 搜索引擎学习(四)中文分词器
  10. 代码练习中的bug及修改方法
  11. 好评率超高的几个硬核公众号,99%的程序员都关注了!
  12. 移动开发痛点之一-接口验证之PostMan图文教程
  13. Unity 3D 射线检测方法
  14. Jupyter启动报错 ImportError: DLL load failed while importing error
  15. 物联网与嵌入式是什么关系
  16. 那些年我们一起追过的稀奇古怪的SQL
  17. Flashpaper去掉toolbar,去掉打印的方法
  18. Linux文件锁(Filelock)是什么,怎么用?
  19. javaSE I/O流(二)—— 各种各样的流
  20. Flume跨服务器采集数据

热门文章

  1. 梅特卡夫定律与网络价值
  2. RabbitMQ的相关概念以及RabbitMQ的安装
  3. 怎么把excel文件转成dta_如何将excel表格数据转化为dta格式-怎么把dat文件转换成Excel文件,里面的数据格式要......
  4. 【接口篇 / Wan】(7.0) ❀ 02. 配置路由器上网 ❀ FortiGate 防火墙
  5. 每个人小时候都有一个小小的梦
  6. linux打地鼠课程设计,数字电路课程设计打地鼠.doc
  7. 电话号码对应英文单词
  8. 数据分析之淘宝数据简介
  9. Mac 远程连接树莓派-不使用拓展坞
  10. FFmpeg MP4 m3u8 视频 相互转换