静态变量
同一个类的不同实例对象,可以共用同一静态变量。(如果有一个对象将静态变量更改,另外一个对象的静态变量也会随之更改)
静态方法
使用类中的方法就必须将这个类实例化 ,调用静态方法无需创造类的对象
实例
public class StaticMethod{
system.out,println("静态方法无需实例化就可以调用");
}
public static void main(string[] args){
StaticMethod.show();
调用类的静态方法,无需创造类的对象。
}
public class Demo2 { public void show() { System.out.println("hello");//创建输出 }//创建方法 public static void main(String[] args) { Demo2 d= new Demo2();//创建对象 d.show(); } }
静态方法的使用:
public class Demo3 { static public void show() { System.out.println("hello");//创建输出 }//创建方法 public static void main(String[] args) { Demo3.show();//静态方法,不需要创建对象就可以直接使用 //system.out.println()方法就是一个典型的静态方法,未创建system对象,就实现了输出功能 } }
静态代码块
static修饰的代码区域就是静态代码块
类声明时就会运行 (适合做初始化操作)
public class StaticTest{
static{
System.out.println(name+"静态代码块");
}//静态代码块
}
package myproject1; public class Demo4 { static String name; static { System.out.println("这里是静态代码块"+name); } { System.out.println("非静态代码块"+name); } public Demo4(String name){ this.name = name; System.out.println("构造方法"+name); } public void show(){ System.out.println("成员方法"+name); } public static void main(String[] args) { Demo4 d;//静态代码块在声明类对象的时候就会执行 // Demo4 d=new Demo4("nas"); // d.show(); } }
Demo4 d=new Demo4("nas"); d.show();
访问控制
super(关键字)在static方法体里,绝对不允许出现super调用的各种父类方法或父类变量
类的主方法
类的主方法
(每个项目只能指定一个对应的主方法)
supermarket main()
主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流向的控制。java编译器通过主方法来执行程序、
public static void main(String[] args){ //方法体 //主方法也是静态的,所以如果直接在主方法中直接调用其他的方法,就必须保证其他的方法也是静态的,不是静态的方法,必须创造对象的实例。 //主方法中没有返回值,主方法的形参为数组。其中args[0]~args[n]分别代表程序的第一个参数到第n个参数,可以使用args.length获取参数的个数。 }