楼主: omencathay

[精华] Think in java读书笔记

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
281#
发表于 2005-3-30 20:10 | 只看该作者
我已经看了半年的,think in java,我看的是英文版(第一次看英文版的书),不知道是我天资差还是不过用心,现在还是很乱,很多地方都不懂。请大家指教一下!我有可能是错再什么地方,方法可能那个地方错了

使用道具 举报

回复
论坛徽章:
0
282#
发表于 2005-3-31 12:33 | 只看该作者
努力啊!!!!有什么感想写下来,大家一起来交流啊!

使用道具 举报

回复
论坛徽章:
0
283#
发表于 2005-3-31 16:09 | 只看该作者
最初由 ljplmjl 发布
[B]//OrderOfInitialization.java

class Tag{
        Tag(int marker){
                System.out.println("Tag("+marker+"";
        }
}

class Card{
        Tag t1=new Tag(1);
        Card(){
        System.out.println("Card()";
        t3=new Tag(33);
        }
        Tag t2=new Tag(2);
        void f(){
                System.out.println("f()";
        }
        Tag t3=new Tag(3);
}

public class OrderOfInitialization{
        public static void main(String[] args){
                Card t=new Card();
                t.f();
        }
}

请问这个程序是怎样一个执行过程???我不太理解java程序执行顺序???? [/B]


书上说"所有变量一定会在任何一个函数被调用之前完成初始化。"
所以在就要先进行t1、t2、t3变量的初始化,然后再调用t.f();这样理解对吗??

使用道具 举报

回复
论坛徽章:
0
284#
发表于 2005-3-31 20:15 | 只看该作者
//ExplicitStatic.java

class Cup{
        Cup(int marker){
                System.out.println("Cup("+marker+"";
        }
       
        void f(int marker){
                System.out.println("f("+marker+"";
        }
}

class Cups{
        static Cup c1;
        static Cup c2;
        static {
                c1=new Cup(1);
                c2=new Cup(2);
        }
        Cups(){
                System.out.println("Cups()";
        }
}

public class ExplicitStatic{
        public static void main(String[] args){
                System.out.println("Inside main()";
                Cups.c1.f(99);               
        }
}
大家帮帮忙,谁可以告诉我Cups.c1.f(99); 这一步都执行了什么??先谢谢了!!!

使用道具 举报

回复
论坛徽章:
29
会员2006贡献徽章
日期:2006-04-17 13:46:342010广州亚运会纪念徽章:射箭
日期:2011-03-01 21:31:292011新春纪念徽章
日期:2011-03-30 12:52:55ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-12-29 09:09:26灰彻蛋
日期:2012-05-08 21:41:09奥运会纪念徽章:花样游泳
日期:2012-07-18 13:23:53奥运会纪念徽章:艺术体操
日期:2012-10-19 20:42:50奥运会纪念徽章:田径
日期:2012-10-26 20:50:36蜘蛛蛋
日期:2012-12-29 08:17:35
285#
发表于 2005-4-1 08:24 | 只看该作者
哈哈,mark一個

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
286#
发表于 2005-4-1 21:45 | 只看该作者
//ExplicitStatic.java

class Cup{
Cup(int marker){
System.out.println("Cup("+marker+"";
}

void f(int marker){
System.out.println("f("+marker+"";
}
}

class Cups{
static Cup c1;
static Cup c2;
static {
c1=new Cup(1);
c2=new Cup(2);
}
Cups(){
System.out.println("Cups()";
}
}

public class ExplicitStatic{
public static void main(String[] args){
System.out.println("Inside main()";
Cups.c1.f(99);
}
}
大家帮帮忙,谁可以告诉我Cups.c1.f(99); 这一步都执行了什么??先谢谢了!!!
=======================================================
这个应该跟static 模块有关系:
因为static  c1=new cup(1)而new cup(1)在static 块里面,所以new cup(2)也要执行;
就是static {
c1=new Cup(1);
c2=new Cup(2);
}
里面的内容都要执行。
而new Cup(1)就要调用到Cup的构造函数,所以结果就是
再加上void f(int marker){
System.out.println("f("+marker+"";
}执行

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
287#
发表于 2005-4-1 21:47 | 只看该作者
执行结果
Inside main()
Cup(1)
Cup(2)
f(99)
有什么不对请指点

使用道具 举报

回复
论坛徽章:
33
2011新春纪念徽章
日期:2011-01-25 15:41:012012新春纪念徽章
日期:2012-02-13 15:11:52ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14兰博基尼
日期:2013-11-04 12:55:50马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:52
288#
 楼主| 发表于 2005-4-1 22:33 | 只看该作者
声明static静态方法或变量的意思是
1.调用它你不必创建父类的子类,可以直接调用
2. 只要声明了静态static,内存中只有一个副本,不论你创建了多少继承自父类的子类

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
289#
发表于 2005-4-2 22:33 | 只看该作者
那么怎么会输出Cup(2)???

使用道具 举报

回复
论坛徽章:
16
授权会员
日期:2005-11-22 09:32:00茶鸡蛋
日期:2012-05-28 17:27:32双黄蛋
日期:2012-05-19 23:10:38ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ITPUB学员
日期:2011-10-09 08:54:30ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010新春纪念徽章
日期:2010-01-04 08:33:08生肖徽章2007版:龙
日期:2009-05-26 18:16:32ITPUB元老
日期:2008-04-22 10:23:44
290#
发表于 2005-4-2 22:49 | 只看该作者
本人英文不是很差,是太差了。。。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表