-
static关键字
- static:静态成员,类成员
public static int price;//静态属性或者叫类属性 public static String outName(){//静态方法和类方法 }
-
特点
- 类产生的对象共享同一个内存空间
- 类加载时产生,销毁时释放,声明周期长
- 只能加在属性或者方法名称的前面
- 在成员方法(非静态方法)中可以调用静态方法
- 在静态方法中不可以调用非静态成员,只能调用静态成员
-
代码实现
类
package com.imooc.animal; public class cat { //声明私有变量 public static String name; public String outName() { return this.name; } }
主程序
package com.imooc.animal; public class catTest { public static void main(String[] args) { cat one=new cat();//声明并实例化 cat.name="帅虎";//这里既可以用对象名one,也可以用类名(cat--推荐) //同理,调用静态方法的时候也可以用类名或者对象名 System.out.println(one.outName()); } }
输出:
帅虎
-
构造代码块和普通代码块
普通代码块:代码块内按照语句的顺序执行
构造代码块: 在对象被创建的时候调用,优于构造方法执行
**静态代码块: **static+构造代码块,优于构造代码块执行
类:
package com.imooc.animal; public class cat { public cat() { System.out.println("我是构造方法"); } {//构造代码块 System.out.println("我是构造代码块");//首先输出 } static {//静态代码块 System.out.println("我是静态代码块"); } }
主函数:
package com.imooc.animal; public class catTest { public static void main(String[] args) { cat two=new cat(); } }
结果:
我是静态代码块
我是构造代码块
我是构造方法