| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:求一个关于类的加载和static变量及方法和构造器运行先后问题
只看楼主 加入收藏
LSASTA
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2015-5-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:12 
求一个关于类的加载和static变量及方法和构造器运行先后问题
public class Demo2 {
    public static int k=0;
    public static Demo2 t1=new Demo2("t1");
    public static Demo2 t2=new Demo2("t2");
    public static int i=print("i");
    public static int j=print("j");
    public static int n=99;
    //代码块
    {
        print("构造函数");
    }
    //静态代码块
    static{
        print("静态代码块");   
    }
    //静态方法
    public static int print(String s){
        System.out.println(" i= " + i + " " + s + "  k= " + k + " n= " + n + " j            = " + j);
        ++i;
        ++k;
        ++n;
        return i;
    }
    //构造器
    public Demo2(String string){
        print(string);
    }   
    //主函数
    public static void main(String[] args){
        Demo2 d=new Demo2 d=new Demo2("T");
    }
}
搜索更多相关主题的帖子: public 
2015-09-18 21:02
LSASTA
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2015-5-4
收藏
得分:0 
求一位耐心的大神能给我详细的讲解一下运行步骤
2015-09-18 21:09
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:7 
以下是引用LSASTA在2015-9-18 21:02:38的发言:

public class Demo2 {
    public static int k=0;
    public static Demo2 t1=new Demo2("t1");
    public static Demo2 t2=new Demo2("t2");
    public static int i=print("i");
    public static int j=print("j");
    public static int n=99;
    //代码块
    {
        print("构造函数");            //这为啥打印构造函数?不是代码块么?
    }
    //静态代码块
    static{
        print("静态代码块");   
    }
    //静态方法
    public static int print(String s){
        System.out.println(" i= " + i + " " + s + "  k= " + k + " n= " + n + " j            = " + j);
        ++i;
        ++k;
        ++n;
        return i;
    }
    //构造器
    public Demo2(String string){
        print(string);
    }   
    //主函数
    public static void main(String[] args){
        Demo2 d=new Demo2 d=new Demo2("T");
    }
}

静态代码块-》代码块-》构造器

剑栈风樯各苦辛,别时冰雪到时春
2015-09-18 21:10
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:7 
静态代码块最先执行且只执行一次

一片落叶掉进了回忆的流年。
2015-09-18 22:31
LSASTA
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2015-5-4
收藏
得分:0 
回复 4楼 诸葛欧阳
但是输出来却是这个样子:我始终看不懂
 i= 0 构造代码块  k= 0 n= 0 j = 0
 i= 1 t1  k= 1 n= 1 j = 0
 i= 2 构造代码块  k= 2 n= 2 j = 0
 i= 3 t2  k= 3 n= 3 j = 0
 i= 4 i  k= 4 n= 4 j = 0
 i= 5 j  k= 5 n= 5 j = 0
 i= 6 静态代码块  k= 6 n= 99 j = 6
 i= 7 构造代码块  k= 7 n= 100 j = 6
 i= 8 T  k= 8 n= 101 j = 6
2015-09-18 23:27
LSASTA
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2015-5-4
收藏
得分:0 
回复 3楼 林月儿
但是答案好像不是这样子的
 i= 0 构造代码块  k= 0 n= 0 j            = 0
 i= 1 t1  k= 1 n= 1 j            = 0
 i= 2 构造代码块  k= 2 n= 2 j            = 0
 i= 3 t2  k= 3 n= 3 j            = 0
 i= 4 i  k= 4 n= 4 j            = 0
 i= 5 j  k= 5 n= 5 j            = 0
 i= 6 静态代码块  k= 6 n= 99 j            = 6
 i= 7 构造代码块  k= 7 n= 100 j            = 6
 i= 8 T  k= 8 n= 101 j            = 6
2015-09-18 23:28
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
你的主方法是怎么回事?

一片落叶掉进了回忆的流年。
2015-09-19 01:49
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
单步执行发现它先执行d1,d2的构造

一片落叶掉进了回忆的流年。
2015-09-19 10:01
LSASTA
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2015-5-4
收藏
得分:0 
回复 7楼 诸葛欧阳
不好意思主方法那儿写错了哦;;
2015-09-19 22:53
LSASTA
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2015-5-4
收藏
得分:0 
回复 8楼 诸葛欧阳
我也不知道他是怎么执行的,,,走两步就走不通了,,,主要是和答案对不上
2015-09-19 22:55
快速回复:求一个关于类的加载和static变量及方法和构造器运行先后问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016396 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved