static不能修饰类,局部变量
static+属性 静态属性
public class Pig { String name; static int price; } class PigTest{ public static void main(String[] args){ Pig a=new Pig(); a.name="小乳猪"; a.price=1000; Pig b=new Pig(); b.name="宠物猪"; b.price=500; System.out.println(a.name+":"+a.price); System.out.println(b.name+":"+b.price); }
运行结果:
小乳猪:500
宠物猪:500
static+方法
1.静态方法中不能直接访问同一个类中的非静态成员,可以通过实例化对象进行调用;只能直接调用同一个类中静态成员,
2.静态方法中不能使用this和super,this和super是对象范畴的,而静态方法是类范畴的
优先级:从低到高
public class Pig { String name; static int price; public void eat(String name,int price){ this.price=price; this.name=name; } public void run(){ System.out.println("我是普通代码块"); } { System.out.println("我是构造代码块"); } static{ System.out.println("我是静态代码块"); } }
运行结果:
我是静态代码块
我是构造代码块
我是普通代码块
原文:https://www.cnblogs.com/dyddzhp/p/11165619.html