java的类学习

来源:互联网 发布:蛇蛇争霸网络不稳定 编辑:程序博客网 时间:2024/06/06 18:55

先看下面的代码

<span style="font-size:18px;">public class Static {    public int a;    public String SS;   /* public  Static(){    a=35;    }*/    public  void Test(){    a=25;    }    public void Test02(){    SS="hello";    }    public void Test03(){    System.out.println(a);    }    public static void main(String[] args) {Static st= new Static();//st.Test();st.Test03();}}</span>
输出的结果是0;说明Test方法没有执行所以才有了st.Test03();输出了0;先运行Test()方法则将把25赋值给a了.之后在运行Test03则输出25,

而在构造方法中赋值的时候是在创建对象的时候就先运行了所以会出现下面的样子

<span style="font-size:18px;">public class Static {    public int a;    public String SS;    public  Static(){    a=35;    }    public  void Test(){    a=25;    }    public void Test02(){    SS="hello";    }    public void Test03(){    System.out.println(a);    }    public static void main(String[] args) {Static st= new Static();//st.Test();st.Test03();}}</span>

之所以写这些也是我当时以为在new一个对象的时候构造方法先执行,然后其他在顺序执行,但是我今天发现原来不调用的话是不会执行的

今天的一些理解

0 0
原创粉丝点击