java static关键字

来源:互联网 发布:淘宝集运德国 编辑:程序博客网 时间:2024/05/20 06:56



package learnAgain;//静态导入,导入一个类的静态方法:包名.类名.方法名import static learnAgain.Add.add;//一般的导入,导入整个类import learnAgain.Add2;public class TestStatic{public static void main(String[] args){int x=1,y=10;System.out.println(add(x, y));//直接使用这个静态方法。不需要再用 类名.静态方法 来调用,这样写起来简便一点。System.out.println(Add2.add2(x+1, y+1));//非静态导入,使用 类名.静态方法类 调用MyNum myNum;//这个时候还没有加载类,静态代码块还没有执行System.out.println("---------------");MyNum myNum1=new MyNum();//第一次建立对象,这时候开始加载类,静态代码块执行一次,然后执行构造函数MyNum myNum2=new MyNum();//第二个建立对象,类已经在内存里了,不需要再次加载,静态代码块也不会再执行//只会执行构造函数。System.out.println("-----------------");System.out.println("myNum2.i="+myNum2.i);myNum1.i=-1;System.out.println("myNum2.i="+myNum2.i);//静态成员变量是所有类共有的,一个对象对他修改,影响到另一个变量System.out.println("--------------------");System.out.println("myNum1.j="+myNum1.j);System.out.println("myNum2.j="+myNum2.j);myNum1.j=30;System.out.println("myNum1.j="+myNum1.j);System.out.println("myNum2.j="+myNum2.j);//实例变量是每个对象都有一份,他们之间不会相互影响。}}class MyNum{static int i;//静态属性:也叫类属性,是和类绑定到一起的,在类加载的时候就初始化haulstatic {i=10;System.out.println("静态代码块执行!");}int j;public MyNum(){this.j=-1;System.out.println("构造方法执行!");}}


原创粉丝点击