java学习笔记11-static关键字
如果在类中使用static关键字创建方法,这种方法称为类方法,可以在这个类中直接引用。而不是用static创建的方法。这种方法称为对象方法(实例方法),需要创建对象后才能使用。
package lesson; public class TestDemo { public static void methon1(){ System.out.println("类方法"); } public void methon2(){ System.out.print("实例方法"); } public static void main(String[] args){ TestDemo.methon1(); TestDemo.methon2(); } }SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
如果在类,方法外,使用static创建的变量。这种变量称为类变量,类变量属于这个类,可以在本类中的任何类方法里面直接引用。而非static关键字声明的变量为成员变量,这种变量属于这个类的对象。可以在实例方法中引用。
package lesson; public class TestDemo { static int no1=10; int no2=20; public static void main(String[] args){ System.out.println(no1); System.out.println(no2); } }
在类的加载时(第一次调用类),类的成员变量会进行初始化,引用数据类型会默认初始化为null,int和long类型变量初始化为0,float和double的变量会初始化为0.0
类在加载时,除了初始化变量,还会调用类的静态块和动态快
静态块:使用static关键字修饰,static{}。有多个静态块会顺序执行
动态快:动态快不需要任何关键字修饰,直接使用花括号包含。有多个动态快会顺序执行
类在初始化时,静态块只会在第一次加载时执行一次,而动态快在每次使用此类都会执行。
package lesson; public class TestDemo { static{ System.out.println("静态块"); } { System.out.println("动态快"); } public static void main(String[] args){ TestDemo test = new TestDemo(); TestDemo test1 = new TestDemo(); } }
当调用静态方法时,是不会加载动态快的
package lesson; public class TestDemo { static{ System.out.println("静态块"); } { System.out.println("动态快"); } public static void Hello(){ System.out.println("Hello"); } public static void main(String[] args){ TestDemo.Hello(); } }

更多精彩