>[success] # static
* **static** 修饰`成员变量` 和 `成员方法`,修饰后属于`类` 所有,分别叫做`静态变量`,`静态方法`,**static**修饰后只随着**类的加载**准备就绪,与是否创建对象无关
* 使用上static关键字修饰的成员可以使用`引用.`的方式访问,但推荐`类名.的`方式
>[danger] ##### 案例
* **非静态成员方法**中既能访问**非静态的成员**又能访问**静态的成员**,`(成员:成员变量 + 成员方法, 静态成员被所有对象共享)`
* **静态成员方法**中只能访问静态成员**不能访问非静态成员**。`(成员:成员变量 + 成员方法, 因为此时可能还没有创建对象)`
~~~
public class StaticTest {
private int a;
// 声明一个静态变量
private static int b;
public void setA(int a) {
this.a = a;
}
public int getA() {
return a;
}
// 静态方法
public static int getB() {
// 类. 属性
return StaticTest.b;
}
// 静态方法
public static void setB(int b) {
// this.b = b // 报错静态方法可以直接类调用此时并没有创建对象实例因此没有this
// 类. 属性
StaticTest.b = b;
}
public void show() {
// 在非静态方法中可以通过this 调用静态属性 因为此时方法调用需要创建对象因此this存在
System.out.println(a + "," + this.b);
System.out.println(a + "," + StaticTest.b);
}
public static void main(String[] args) {
StaticTest staticTest = new StaticTest();
staticTest.setA(10);
// 通过实列调用静态方法 也可调用静态属性不推荐
staticTest.setB(11);
staticTest.show(); // 10,11
// 创建新的实列
StaticTest staticTest1 = new StaticTest();
staticTest1.setA(10);
// 静态方法推荐类调用
StaticTest.setB(16);
// 静态属性共享的此时 重新打印 都变成同一的
staticTest.show(); // 10,16
staticTest1.show(); // 10,16
}
}
~~~
>[danger] ##### main -- 方法含义
* 公共的 静态的 无返回值的 叫 main 的一个方法,并且可以接受一个数组字符串作为参数,传参时候`java 文件 参数1 参数2`
~~~
public static void main(String[] args){}
~~~
- windows -- 环境变量
- Vscode -- 编写java
- 初始java
- java -- 关键字
- 编写第一个java程序
- java -- 注释
- 计算机存储 -- 进制
- java -- 类型
- java -- 变量
- 数字类型
- 布尔类型
- 字符类型
- 类型转换
- 双等比较是什么
- java -- 运算符
- 算数运算符
- 字符串拼接
- 关系/比较运算符
- 自增减运算符
- 逻辑运算符
- 三目运算
- 赋值运算符
- 移位运算符
- 位运算符
- 运算符优先级
- java -- 流程控制语句
- if /else if /if -- 判断
- switch case分支结构
- for -- 循环
- 用双重for循环
- while -- 循环
- do while -- 循环
- 案例练习
- java -- 数组
- 数组的存储
- 数组的增删改查
- 数组的特点
- 数组案例
- 二维数组
- 数组的工具方法
- java -- 方法
- java -- 方法的重载
- java -- 方法的调用流程
- java -- 类方法传参注意事项
- java -- 方法练习案例
- 对比 return break continue
- for each循环
- java -- 基础练习
- java -- 面向对象
- java -- 创建类和对象
- java -- 访问控制符
- java -- 类成员方法
- java -- 构造方法
- java -- this
- java -- 封装
- java -- 对象内存图
- java -- 创建对象案例
- java -- static
- java -- 继承
- super -- 关键字
- java -- 构造块和静态代码块
- java -- 重写
- java -- final
- java -- 多态
- java -- 抽象类
- java -- 接口
- 引用类型数据转换
- 综合案例
- java -- 内部类
- java -- 回调模式
- java -- 枚举类型
- java -- switch 使用枚举
- java -- 枚举方法使用
- java -- 枚举类实现接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 递归练习
- java -- 设计模式
- 单例模式
- java -- 注解
- java -- 元注解
- Java -- 核心类库
- java -- 处理字符串
- Java -- String
- String -- 常用方法
- String -- 正则
- Java -- StringBuilder 和 StringBuffer
- 知识点
- Java -- StringJoiner 字符串拼接
- 练习题
- 字符串的总结
- Java -- 包装类
- Integer
- Double
- Boolean
- Character
- java -- 集合类
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 获取当前时间戳
- Java -- 异常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法