用于修饰类成员:
成员变量:类变量
调用方式: 可以通过类名.成员变量名(成员方法名)直接调用
1、static修饰成员变量
可以被本类所有对象共享
package com.wang.duixiang; public class StaticDemo01 { public static void main(String[] args) { Developer developer=new Developer(); developer.setName("小黑"); developer.setWork("写代码"); developer.selfIntroduction(); Developer developer1=new Developer(); developer1.setWork("鼓励师"); developer1.setName("远远"); developer1.selfIntroduction(); /*//修改有static修饰的变量 Developer.developmentName="开发部"; developer.selfIntroduction(); developer1.selfIntroduction(); 不可随意修改,所以有static修饰的变量前面加final */ } } class Developer{ public final static String DEPARTMENT_NAME="研发部"; private String name; private String work; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setWork(String work) { this.work = work; } public String getWork() { return work; } public void selfIntroduction(){ System.out.println("我是+"+DEPARTMENT_NAME"部门的"+getName()+",我的工作是"+getWork()); } }
静态方法的使用场景:只需要访问静态成员
不需要访问对象状态,所需参数都由参数列表显示提供。即当调用一个方法的时候,想通过 类名.的形式调用,而不是通过对象名.的形式调用。就可以使用静态方法
package com.wang.duixiang; //定义静态方法,反转数组元素 public class StaticDemo02 { public static void main(String[] args) { //静态方法通过类名直接调用 ReverseArray.show(); System.out.println("======================================="); int[] array={1,6,4,5,2,3}; for (int i=0;i<array.length;i++){ System.out.print(array[i]+" "); } System.out.println(); ReverseArray.reverse(array); for (int i=0;i<array.length;i++){ System.out.print(array[i]+" "); } } } class ReverseArray{ int num1=10; static int num2=20; public static void show(){ //System.out.println(num1);静态方法不能访问非静态成员 System.out.println(num2); } public static void reverse(int[] array){ //交换元素 反转其实就是数组中array[i]和array[array.length-1-i]进行交换 //明确交换次数 for(int i=0;i<array.length/2;i++){ int temp=array[i]; array[i]=array[array.length-1-i]; array[array.length-1-i]=temp; } } }