4.4 静态字段与静态方法
4.4.1 静态字段
静态是啥意思呢?就是大家公有的。
比如公司共用一个洗手间,这个洗手间,公司每个人都可以用,但是并不独立的属于一个人,这种时候就可以考虑使用静态字段。
假设公司再建一个洗手间,那就所有人又多了一个可以选择的洗手间。
public class Employee {private int id;
private static int toilent = 2;//公司共有2个洗手间
}
静态对象它属于类,不属于对象,加法逻辑:
public class Employee {private int id;
private static int toilent = 2;//公司共有2个洗手间
public static void main(String[] args){
Employee.toilent++;
}
}
4.4.2 静态常量
把 static 和 final 连用,可以构建静态常量。比如公司的 统一社会信用代码之类,就是固有而无法改变的,比如随意搜索一下京东:
4.4.3 静态方法
通常,把常用的调参使用静态常量配置,或者把工具类的方法使用静态方法配置
public class Contants {public static final String wxKey = "2hoi24h234i";//各种平台key
public static final String wxSecret = "1536474fdfg3";//各种平台secret
//集合转数组
public static int[] getArr(List<Integer> items){
return items.stream().mapToInt(o->o).toArray();
}
}
实际配置就是如上图(编码是杜撰的)。
1. 通常拿来做工具类,来配置公共常量,通常是对接各种短信平台、微信支付、支付宝支付、地图之类的固定参数。
2. 可以为不同构造器提供外部名称,防止因构造器太多不知道选用哪个。
4.4.4 工厂方法
初始化时,通过静态方法而非自带构造。原因:
1. 静态方法有名字,构造器只能与类名相同,不能表达方法的含义
2. 只需要有限个数对象的公共类,比如 Calendar 类。
public class Main {public static void main(String[] args){
// private static final int NUMBERSTYLE = 0;
// private static final int CURRENCYSTYLE = 1;
// private static final int PERCENTSTYLE = 2;
// private static final int SCIENTIFICSTYLE = 3;
// private static final int INTEGERSTYLE = 4;
NumberFormat numberFormatter = NumberFormat.getNumberInstance();//数值
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();//金额符号+金额
NumberFormat percentFormatter = NumberFormat.getPercentInstance();//百分比
// NumberFormat scientificstypeFormatter = NumberFormat.getScientificInstance();//科学的,用不了
NumberFormat integerFormatter = NumberFormat.getIntegerInstance();//取整
double x = 0.1;
System.out.println(numberFormatter.format(x));
System.out.println(currencyFormatter.format(x));
System.out.println(percentFormatter.format(x));
System.out.println(integerFormatter.format(x));
}
}
4.4.5 main 方法
每个类都可以添加main方法,以执行 java x 的类方法进行执行。
系列内容:
《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述
《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(6)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(7)大数处理、数组、多维数组、控制台传参
《Java 核心技术 卷1》 笔记 第四章:类与对象
《Java 核心技术 卷1》 笔记 第四章:类与对象(2) GregorianCalendar 与 类的基本组成
《Java 核心技术 卷1》 笔记 第四章:类与对象(3) 构造器全局私有方法
喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。
关注公众号,互相学习:钰娘娘知识汇总