一、前言
从本文开始是面向对象的进阶学习,会进一步讲解有关面向对象的知识,本文主要是讲述有关static的知识点
二、概述
- statia是一个修饰符,用来修饰成员方法和成员变量
- static关键字在Java开发非常的重要,对于理解面向对象非常关键
三、静态变量
1.概述
当 static 修饰成员变量,说明这个成员变量是属于类的,这个成员变量称为 类变量 或 静态成员变量
2.特点
- 被该类所有对象共享
- 不属于对象
- 属于类
- 随着类的加载而加载,优先对象存在
3.格式
修饰符 static 数据类型 变量名 = 初始值;
4.调用方式
- 类名调用
类名.静态变量名
例:Person.gender
- List item
对象名使用
5.代码演示
public class Student { //定义成员变量 private String name; private String gender; private int age; public static String teacher; //空参构造 public Student(){ } //带参构造 public Student(String name, String gender, int age){ this.name = name; this.gender = gender; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void show(){ System.out.println(name + "," + gender + "," + age + ",他的老师是:" + teacher); } }
public class StudentTest { public static void main(String[] args) { Student s1 = new Student(); s1.setName("张三"); s1.setGender("男"); s1.setAge(18); s1.teacher = "王老师"; s1.show(); Student s2 = new Student(); s2.setName("李四"); s2.setGender("男"); s2.setAge(20); s2.show(); } }
四、静态方法
1.概述
当static修饰成员方法时,则说明这个成员方法是属于类的,那么这个成员方法称为 类方法 或者 静态方法
2.特点
- 多用于测试类和工具类中
- 在Javabean类中很少会使用
🟡工具类
不描述任何事物,只帮助我们实现某一功能的类;如:求和、就平均数等
其特点如下
- 类名要见名知意
- 私有化构造方法
- 方法定义为静态
3.格式
public static void 方法名(){ ... }
4.访问静态方法
类名.方法名称
5.代码实现
public static void main(String[] args){ Student.study(); }
五、注意事项
静态方法只能访问静态变量和静态方法
非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
静态方法中是没有this关键字
六、结语
无static修饰的成员变量或者成员方法,称为实例变量,实例方法,实例变量和实例方法必须创建类的对象,然后通过对象来访问,且必须用对象来调用