楼主: ZJambition

请教一个问题

[复制链接]
论坛徽章:
59
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-10-28 14:15:35管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
11#
发表于 2006-9-8 11:14 | 只看该作者
恩, 这只是些小错误, 熟悉一哈, JAVAC的用法, 学会理解DEBUG的错误信息, 就能自己找出问来啦. LZ加油吧.

BTW, 如果使用好一点的编辑工具, 比如, ECLIPSE之类的, 就更方便啦.

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2006-9-8 12:18 | 只看该作者
嘿嘿学到一点

使用道具 举报

回复
论坛徽章:
2
会员2007贡献徽章
日期:2007-09-26 18:42:10
13#
发表于 2006-9-8 15:53 | 只看该作者
最初由 lodge 发布
[B]恩, 这只是些小错误, 熟悉一哈, JAVAC的用法, 学会理解DEBUG的错误信息, 就能自己找出问来啦. LZ加油吧.

BTW, 如果使用好一点的编辑工具, 比如, ECLIPSE之类的, 就更方便啦. [/B]


是啊,好的IDE都提示this之类的错误的

使用道具 举报

回复
论坛徽章:
0
14#
 楼主| 发表于 2006-9-8 16:04 | 只看该作者
我就是不明白为什么要去掉final

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2006-9-8 19:57 | 只看该作者

静态的变量是不能被修改的

你试别的参数看看
我也是个初学者

使用道具 举报

回复
论坛徽章:
43
ITPUB元老
日期:2007-01-14 09:32:112011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08开发板块每日发贴之星
日期:2011-08-29 01:01:012012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
16#
发表于 2006-9-9 01:30 | 只看该作者
声明的时候可以用,调用的时候就不行,当然做参数的变量本身可以是final的,但是不是这么写的。

[php]
public class FinalVariable {
        public static void main(String[] args) {               
                String tt="";                       
                final String pp="";               
               
                test(final tt); //error               
                test(final new String(tt)); //error
               
                test(tt);//correct
                test(pp);//correct               
               
                test(new String(tt));//correct
                test(new String(pp));//correct
               
                pp=""; //error
                tt=pp; //correct;
        }
       
       
        public static void test(final String ts){
               
                String a=ts.substring(0);//correct               
                ts=new String(ts);//error
        }
}

[/php]

方法的签名和方法内部或者类的内部所声明的final是为了防止修改对象引用,在方法内部的final参数和变量据说也会使java编译器对代码做更多的优化。
但事实上却不见得如此。
例如一下代码:


[php]public class FinalVariable {

        public static void main(String[] args) {
               
                String tt="";                       
                final String pp="";               
               
                //test(final tt); //error               
                //test(final new String(tt)); //error
               
                test(tt);//correct
                test(pp);//correct               
               
                test(new String(tt));//correct
                test(new String(pp));//correct
               
                //pp=""; //error
                tt=pp; //correct;
        }       
       
        public static void test(final String ts){
               
                String a=ts.substring(0);//correct               
                //ts=new String(ts);//error
        }
}[/php]

正常情况下编译后,再反编译过来,可以看到final关键字都没了.
[php] public class FinalVariable
{

    public FinalVariable()
    {
    }

    public static void main(String args[])
    {
        String tt = "";
        String pp = "";
        test(tt);
        test("";
        test(new String(tt));
        test(new String("");
        tt = "";
    }

    public static void test(String ts)
    {
        String a = ts.substring(0);
    }
}[/php]


使用javac -O 优化编译,结果类似,虽然这段代码很简单,可以看到还是有区别的.
[php]public class FinalVariable
{

    public FinalVariable()
    {
    }

    public static void main(String args[])
    {
        String s = "";
        test(s);
        test("";
        test(new String(s));
        test(new String("");
        s = "";
    }

    public static void test(String s)
    {
        String s1 = s.substring(0);
    }
}[/php]


至于在运行时由jit做的优化,就看不到了.高手估计还是有办法看到的.


由GCJ  "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-3)"编译的,又是另外一个样子了.可以看到构造函数位置的变化

[php] public class FinalVariable
{

    public static void main(String args[])
    {
        String s = "";
        String s1 = "";
        test(s);
        test(s1);
        test(new String(s));
        test(new String(s1));
        s = s1;
    }

    public static void test(String s)
    {
        String s1 = s.substring(0);
    }

    public FinalVariable()
    {
    }
}[/php]

如果要优化编译,就看不到class文件了,最多瞧一瞧汇编代码,不在行,贴上来,有懂的,给讲解讲解,呵呵

未优化
[php]
        .file        "FinalVariable.java"
        .section        .debug_abbrev,"",@progbits
.Ldebug_abbrev0:
        .section        .debug_info,"",@progbits
.Ldebug_info0:
        .section        .debug_line,"",@progbits
.Ldebug_line0:
        .text
.Ltext0:
        .align 2
.globl _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE
        .type        _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE, @function
_ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE:
.LFB2:
        pushl        %ebp
.LCFI0:
        movl        %esp, %ebp
.LCFI1:
        pushl        %ebx
.LCFI2:
        subl        $20, %esp
.LCFI3:
.LBB2:
        subl        $12, %esp
.LCFI4:
        pushl        $_ZN13FinalVariable6class$E
.LCFI5:
        call        _Jv_InitClass
        addl        $16, %esp
.LCFI6:
        movl        _CD_FinalVariable+4, %eax
        movl        %eax, -8(%ebp)
.LBB3:
        movl        _CD_FinalVariable+4, %eax
        movl        %eax, -12(%ebp)
        movl        -8(%ebp), %eax
        subl        $12, %esp
.LCFI7:
        pushl        %eax
.LCFI8:
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        addl        $16, %esp
.LCFI9:
        movl        -12(%ebp), %eax
        subl        $12, %esp
.LCFI10:
        pushl        %eax
.LCFI11:
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        addl        $16, %esp
.LCFI12:
        subl        $8, %esp
.LCFI13:
        pushl        $20
.LCFI14:
        pushl        $_ZN4java4lang6String6class$E
.LCFI15:
        call        _Jv_AllocObjectNoFinalizer
        addl        $16, %esp
.LCFI16:
        movl        %eax, %ebx
        movl        -8(%ebp), %eax
        subl        $8, %esp
.LCFI17:
        pushl        %eax
.LCFI18:
        pushl        %ebx
.LCFI19:
        call        _ZN4java4lang6StringC1EPS1_
        addl        $16, %esp
.LCFI20:
        movl        %ebx, %eax
        subl        $12, %esp
.LCFI21:
        pushl        %eax
.LCFI22:
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        addl        $16, %esp
.LCFI23:
        subl        $8, %esp
.LCFI24:
        pushl        $20
.LCFI25:
        pushl        $_ZN4java4lang6String6class$E
.LCFI26:
        call        _Jv_AllocObjectNoFinalizer
        addl        $16, %esp
.LCFI27:
        movl        %eax, %ebx
        movl        -12(%ebp), %eax
        subl        $8, %esp
.LCFI28:
        pushl        %eax
.LCFI29:
        pushl        %ebx
.LCFI30:
        call        _ZN4java4lang6StringC1EPS1_
        addl        $16, %esp
.LCFI31:
        movl        %ebx, %eax
        subl        $12, %esp
.LCFI32:
        pushl        %eax
.LCFI33:
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        addl        $16, %esp
.LCFI34:
        movl        -12(%ebp), %eax
        movl        %eax, -8(%ebp)
.LBE3:
.LBE2:
        movl        -4(%ebp), %ebx
        leave
        ret
.LFE2:
        .size        _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE, .-_ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE
        .align 2
.globl _ZN13FinalVariable4testEPN4java4lang6StringE
        .type        _ZN13FinalVariable4testEPN4java4lang6StringE, @function
_ZN13FinalVariable4testEPN4java4lang6StringE:
.LFB3:
        pushl        %ebp
.LCFI35:
        movl        %esp, %ebp
.LCFI36:
        subl        $8, %esp
.LCFI37:
.LBB4:
        subl        $12, %esp
.LCFI38:
        pushl        $_ZN13FinalVariable6class$E
.LCFI39:
        call        _Jv_InitClass
        addl        $16, %esp
.LCFI40:
        movl        8(%ebp), %eax
        movl        %eax, -8(%ebp)
        cmpl        $0, -8(%ebp)
        jne        .L4
        call        _Jv_ThrowNullPointerException
.L4:
        subl        $8, %esp
.LCFI41:
        pushl        $0
.LCFI42:
        pushl        -8(%ebp)
.LCFI43:
        call        _ZN4java4lang6String9substringEi
        addl        $16, %esp
.LCFI44:
        movl        %eax, -4(%ebp)
.LBE4:
        leave
        ret
.LFE3:
        .size        _ZN13FinalVariable4testEPN4java4lang6StringE, .-_ZN13FinalVariable4testEPN4java4lang6StringE
        .align 2
.globl _ZN13FinalVariableC1Ev
        .type        _ZN13FinalVariableC1Ev, @function
_ZN13FinalVariableC1Ev:
.LFB4:
        pushl        %ebp
.LCFI45:
        movl        %esp, %ebp
.LCFI46:
        subl        $8, %esp
.LCFI47:
.LBB5:
        movl        8(%ebp), %eax
        subl        $12, %esp
.LCFI48:
        pushl        %eax
.LCFI49:
        call        _ZN4java4lang6ObjectC1Ev
        addl        $16, %esp
.LCFI50:
.LBE5:
        leave
        ret
.LFE4:
        .size        _ZN13FinalVariableC1Ev, .-_ZN13FinalVariableC1Ev
        .section        .rodata
        .align 2
        .type        _Utf1, @object
        .size        _Utf1, 4
_Utf1:
        .value        1465
        .value        4
        .ascii        "main"
        .zero        1
        .align 2
        .type        _Utf2, @object
        .size        _Utf2, 4
_Utf2:
        .value        59434
        .value        22
        .ascii        "([Ljava.lang.StringV"
        .zero        1
        .align 2
        .type        _Utf3, @object
        .size        _Utf3, 4
_Utf3:
        .value        17554
        .value        4
        .ascii        "test"
        .zero        1
        .align 2
        .type        _Utf4, @object
        .size        _Utf4, 4
_Utf4:
        .value        54943
        .value        21
        .ascii        "(Ljava.lang.StringV"
        .zero        1
        .align 2
        .type        _Utf5, @object
        .size        _Utf5, 4
_Utf5:
        .value        626
        .value        6
        .ascii        "<init>"
        .zero        1
        .align 2
        .type        _Utf6, @object
        .size        _Utf6, 4
_Utf6:
        .value        39797
        .value        3
        .ascii        "()V"
        .zero        1
        .data
        .align 32
        .type        _MT_FinalVariable, @object
        .size        _MT_FinalVariable, 60
_MT_FinalVariable:
        .long        _Utf1
        .long        _Utf2
        .value        16393
        .value        -1
        .long        _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE
        .long        0
        .long        _Utf3
        .long        _Utf4
        .value        16393
        .value        -1
        .long        _ZN13FinalVariable4testEPN4java4lang6StringE
        .long        0
        .long        _Utf5
        .long        _Utf6
        .value        16385
        .value        -1
        .long        _ZN13FinalVariableC1Ev
        .long        0
.globl _ZTVN13FinalVariableE
        .align 32
        .type        _ZTVN13FinalVariableE, @object
        .size        _ZTVN13FinalVariableE, 36
_ZTVN13FinalVariableE:
        .long        0
        .long        0
        .long        _ZN13FinalVariable6class$E
        .long        4
        .long        _ZN4java4lang6Object8finalizeEv
        .long        _ZN4java4lang6Object8hashCodeEv
        .long        _ZN4java4lang6Object6equalsEPS1_
        .long        _ZN4java4lang6Object8toStringEv
        .long        _ZN4java4lang6Object5cloneEv
        .section        .rodata
        .align 2
        .type        _Utf7, @object
        .size        _Utf7, 4
_Utf7:
        .value        0
        .value        0
        .zero        1
        .data
        .align 4
        .type        _CD_FinalVariable, @object
        .size        _CD_FinalVariable, 8
_CD_FinalVariable:
        .long        0
        .long        _Utf7
        .type        _CT_FinalVariable, @object
        .size        _CT_FinalVariable, 2
_CT_FinalVariable:
        .byte        0
        .byte        8
        .align 4
        .type        _catch_classes_FinalVariable, @object
        .size        _catch_classes_FinalVariable, 24
_catch_classes_FinalVariable:
        .long        0
        .long        0
        .long        0
        .long        0
        .zero        8
        .section        .rodata
        .align 2
        .type        _Utf8, @object
        .size        _Utf8, 4
_Utf8:
        .value        20978
        .value        13
        .ascii        "FinalVariable"
        .zero        1
.globl _ZN13FinalVariable6class$E
        .data
        .align 32
        .type        _ZN13FinalVariable6class$E, @object
        .size        _ZN13FinalVariable6class$E, 120
_ZN13FinalVariable6class$E:
        .long        _ZTVN4java4lang5ClassE+8
        .long        0
        .long        _Utf8
        .value        1
        .zero        2
        .long        _ZN4java4lang6Object6class$E
        .long        2
        .long        _CT_FinalVariable
        .long        _CD_FinalVariable
        .long        _MT_FinalVariable
        .value        3
        .value        5
        .long        0
        .long        4
        .value        0
        .value        0
        .long        _ZTVN13FinalVariableE+8
        .long        0
        .long        0
        .long        0
        .long        0
        .long        _catch_classes_FinalVariable
        .long        0
        .long        0
        .value        0
        .byte        0
        .zero        1
        .long        0
        .value        0
        .zero        2
        .long        0
        .long        0
        .long        0
        .long        0
        .long        0
        .long        0
        .section        .jcr,"aw",@progbits
        .align 4
        .long        _ZN13FinalVariable6class$E
        .section        .debug_frame,"",@progbits
.Lframe0:
        .long        .LECIE0-.LSCIE0
.LSCIE0:
        .long        0xffffffff
        .byte        0x1
        .string        ""
        .uleb128 0x1
        .sleb128 -4
        .byte        0x8
        .byte        0xc
        .uleb128 0x4
        .uleb128 0x4
        .byte        0x88
        .uleb128 0x1
        .align 4
.LECIE0:
.LSFDE0:
        .long        .LEFDE0-.LASFDE0
.LASFDE0:
        .long        .Lframe0
        .long        .LFB2
        .long        .LFE2-.LFB2
        .byte        0x4
        .long        .LCFI0-.LFB2
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI1-.LCFI0
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI4-.LCFI1
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI5-.LCFI4
        .byte        0x2e
        .uleb128 0x10
        .byte        0x83
        .uleb128 0x3
        .byte        0x4
        .long        .LCFI6-.LCFI5
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI7-.LCFI6
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI8-.LCFI7
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI9-.LCFI8
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI10-.LCFI9
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI11-.LCFI10
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI12-.LCFI11
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI13-.LCFI12
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI14-.LCFI13
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI15-.LCFI14
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI16-.LCFI15
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI17-.LCFI16
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI18-.LCFI17
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI19-.LCFI18
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI20-.LCFI19
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI21-.LCFI20
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI22-.LCFI21
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI23-.LCFI22
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI24-.LCFI23
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI25-.LCFI24
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI26-.LCFI25
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI27-.LCFI26
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI28-.LCFI27
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI29-.LCFI28
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI30-.LCFI29
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI31-.LCFI30
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI32-.LCFI31
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI33-.LCFI32
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI34-.LCFI33
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE0:
.LSFDE2:
        .long        .LEFDE2-.LASFDE2
.LASFDE2:
        .long        .Lframe0
        .long        .LFB3
        .long        .LFE3-.LFB3
        .byte        0x4
        .long        .LCFI35-.LFB3
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI36-.LCFI35
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI38-.LCFI36
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI39-.LCFI38
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI40-.LCFI39
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI41-.LCFI40
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI42-.LCFI41
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI43-.LCFI42
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI44-.LCFI43
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE2:
.LSFDE4:
        .long        .LEFDE4-.LASFDE4
.LASFDE4:
        .long        .Lframe0
        .long        .LFB4
        .long        .LFE4-.LFB4
        .byte        0x4
        .long        .LCFI45-.LFB4
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI46-.LCFI45
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI48-.LCFI46
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI49-.LCFI48
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI50-.LCFI49
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE4:
        .section        .eh_frame,"a",@progbits
.Lframe1:
        .long        .LECIE1-.LSCIE1
.LSCIE1:
        .long        0x0
        .byte        0x1
        .string        "zP"
        .uleb128 0x1
        .sleb128 -4
        .byte        0x8
        .uleb128 0x5
        .byte        0x0
        .long        __gcj_personality_v0
        .byte        0xc
        .uleb128 0x4
        .uleb128 0x4
        .byte        0x88
        .uleb128 0x1
        .align 4
.LECIE1:
.LSFDE1:
        .long        .LEFDE1-.LASFDE1
.LASFDE1:
        .long        .LASFDE1-.Lframe1
        .long        .LFB2
        .long        .LFE2-.LFB2
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI0-.LFB2
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI1-.LCFI0
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI4-.LCFI1
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI5-.LCFI4
        .byte        0x2e
        .uleb128 0x10
        .byte        0x83
        .uleb128 0x3
        .byte        0x4
        .long        .LCFI6-.LCFI5
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI7-.LCFI6
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI8-.LCFI7
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI9-.LCFI8
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI10-.LCFI9
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI11-.LCFI10
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI12-.LCFI11
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI13-.LCFI12
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI14-.LCFI13
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI15-.LCFI14
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI16-.LCFI15
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI17-.LCFI16
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI18-.LCFI17
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI19-.LCFI18
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI20-.LCFI19
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI21-.LCFI20
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI22-.LCFI21
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI23-.LCFI22
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI24-.LCFI23
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI25-.LCFI24
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI26-.LCFI25
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI27-.LCFI26
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI28-.LCFI27
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI29-.LCFI28
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI30-.LCFI29
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI31-.LCFI30
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI32-.LCFI31
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI33-.LCFI32
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI34-.LCFI33
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE1:
.LSFDE3:
        .long        .LEFDE3-.LASFDE3
.LASFDE3:
        .long        .LASFDE3-.Lframe1
        .long        .LFB3
        .long        .LFE3-.LFB3
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI35-.LFB3
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI36-.LCFI35
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI38-.LCFI36
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI39-.LCFI38
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI40-.LCFI39
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI41-.LCFI40
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI42-.LCFI41
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI43-.LCFI42
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI44-.LCFI43
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE3:
.LSFDE5:
        .long        .LEFDE5-.LASFDE5
.LASFDE5:
        .long        .LASFDE5-.Lframe1
        .long        .LFB4
        .long        .LFE4-.LFB4
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI45-.LFB4
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI46-.LCFI45
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI48-.LCFI46
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI49-.LCFI48
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI50-.LCFI49
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE5:
        .file 1 "FinalVariable.java"
        .text
.Letext0:
        .section        .debug_loc,"",@progbits
.Ldebug_loc0:
.LLST0:
        .long        .LFB2-.Ltext0
        .long        .LCFI0-.Ltext0
        .value        0x2
        .byte        0x74
        .sleb128 4
        .long        .LCFI0-.Ltext0
        .long        .LCFI1-.Ltext0
        .value        0x2
        .byte        0x74
        .sleb128 8
        .long        .LCFI1-.Ltext0
        .long        .LFE2-.Ltext0
        .value        0x2
        .byte        0x75
        .sleb128 8
        .long        0x0
        .long        0x0
.LLST1:
        .long        .LFB3-.Ltext0
        .long        .LCFI35-.Ltext0
        .value        0x2
        .byte        0x74
        .sleb128 4
        .long        .LCFI35-.Ltext0
        .long        .LCFI36-.Ltext0
        .value        0x2
        .byte        0x74
        .sleb128 8
        .long        .LCFI36-.Ltext0
        .long        .LFE3-.Ltext0
        .value        0x2
        .byte        0x75
        .sleb128 8
        .long        0x0
        .long        0x0
.LLST2:
        .long        .LFB4-.Ltext0
        .long        .LCFI45-.Ltext0
        .value        0x2
        .byte        0x74
        .sleb128 4
        .long        .LCFI45-.Ltext0
        .long        .LCFI46-.Ltext0
        .value        0x2
        .byte        0x74
        .sleb128 8
        .long        .LCFI46-.Ltext0
        .long        .LFE4-.Ltext0
        .value        0x2
        .byte        0x75
        .sleb128 8
        .long        0x0
        .long        0x0
        .section        .debug_info
        .long        0x158
        .value        0x2
        .long        .Ldebug_abbrev0
        .byte        0x4
        .uleb128 0x1
        .long        .Letext0
        .long        .Ltext0
        .string        "GNU Java 3.4.6 20060404 (Red Hat 3.4.6-3)"
        .byte        0xb
        .string        "FinalVariable.java"
        .string        "/homes/selgzhan"
        .uleb128 0x2
        .byte        0x1
        .string        "FinalVariable.main(java.lang.String[])"
        .byte        0x1
        .byte        0x4
        .string        "_ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE"
        .long        .LFB2
        .long        .LFE2
        .long        .LLST0
        .uleb128 0x2
        .byte        0x1
        .string        "FinalVariable.test(java.lang.String)"
        .byte        0x1
        .byte        0x16
        .string        "_ZN13FinalVariable4testEPN4java4lang6StringE"
        .long        .LFB3
        .long        .LFE3
        .long        .LLST1
        .uleb128 0x3
        .byte        0x1
        .string        "()"
        .string        "_ZN13FinalVariableC1Ev"
        .byte        0x1
        .long        .LFB4
        .long        .LFE4
        .long        .LLST2
        .byte        0x0
        .section        .debug_abbrev
        .uleb128 0x1
        .uleb128 0x11
        .byte        0x1
        .uleb128 0x12
        .uleb128 0x1
        .uleb128 0x11
        .uleb128 0x1
        .uleb128 0x25
        .uleb128 0x8
        .uleb128 0x13
        .uleb128 0xb
        .uleb128 0x3
        .uleb128 0x8
        .uleb128 0x1b
        .uleb128 0x8
        .byte        0x0
        .byte        0x0
        .uleb128 0x2
        .uleb128 0x2e
        .byte        0x0
        .uleb128 0x3f
        .uleb128 0xc
        .uleb128 0x3
        .uleb128 0x8
        .uleb128 0x3a
        .uleb128 0xb
        .uleb128 0x3b
        .uleb128 0xb
        .uleb128 0x2007
        .uleb128 0x8
        .uleb128 0x11
        .uleb128 0x1
        .uleb128 0x12
        .uleb128 0x1
        .uleb128 0x40
        .uleb128 0x6
        .byte        0x0
        .byte        0x0
        .uleb128 0x3
        .uleb128 0x2e
        .byte        0x0
        .uleb128 0x3f
        .uleb128 0xc
        .uleb128 0x3
        .uleb128 0x8
        .uleb128 0x2007
        .uleb128 0x8
        .uleb128 0x34
        .uleb128 0xc
        .uleb128 0x11
        .uleb128 0x1
        .uleb128 0x12
        .uleb128 0x1
        .uleb128 0x40
        .uleb128 0x6
        .byte        0x0
        .byte        0x0
        .byte        0x0
        .section        .debug_pubnames,"",@progbits
        .long        0x69
        .value        0x2
        .long        .Ldebug_info0
        .long        0x15c
        .long        0x62
        .string        "FinalVariable.main(java.lang.String[])"
        .long        0xd0
        .string        "FinalVariable.test(java.lang.String)"
        .long        0x132
        .string        "()"
        .long        0x0
        .section        .debug_aranges,"",@progbits
        .long        0x1c
        .value        0x2
        .long        .Ldebug_info0
        .byte        0x4
        .byte        0x0
        .value        0x0
        .value        0x0
        .long        .Ltext0
        .long        .Letext0-.Ltext0
        .long        0x0
        .long        0x0
        .section        .note.GNU-stack,"",@progbits
        .ident        "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-3)"

[/php]

优化
[php]
        .file        "FinalVariable.java"
        .text
        .align 2
        .p2align 2,,3
.globl _ZN13FinalVariableC1Ev
        .type        _ZN13FinalVariableC1Ev, @function
_ZN13FinalVariableC1Ev:
.LFB2:
        pushl        %ebp
.LCFI0:
        movl        %esp, %ebp
.LCFI1:
        subl        $20, %esp
.LCFI2:
        pushl        8(%ebp)
.LCFI3:
        call        _ZN4java4lang6ObjectC1Ev
        leave
        ret
.LCFI4:
.LFE2:
        .size        _ZN13FinalVariableC1Ev, .-_ZN13FinalVariableC1Ev
        .align 2
        .p2align 2,,3
.globl _ZN13FinalVariable4testEPN4java4lang6StringE
        .type        _ZN13FinalVariable4testEPN4java4lang6StringE, @function
_ZN13FinalVariable4testEPN4java4lang6StringE:
.LFB3:
        pushl        %ebp
.LCFI5:
        movl        %esp, %ebp
.LCFI6:
        pushl        %ebx
.LCFI7:
        subl        $16, %esp
.LCFI8:
        movl        8(%ebp), %ebx
        pushl        $_ZN13FinalVariable6class$E
.LCFI9:
        call        _Jv_InitClass
        addl        $16, %esp
.LCFI10:
        testl        %ebx, %ebx
        je        .L6
        subl        $8, %esp
.LCFI11:
        pushl        $0
.LCFI12:
        pushl        %ebx
.LCFI13:
        call        _ZN4java4lang6String9substringEi
        movl        -4(%ebp), %ebx
        leave
        ret
.LCFI14:
.L6:
        call        _Jv_ThrowNullPointerException
.LFE3:
        .size        _ZN13FinalVariable4testEPN4java4lang6StringE, .-_ZN13FinalVariable4testEPN4java4lang6StringE
        .align 2
        .p2align 2,,3
.globl _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE
        .type        _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE, @function
_ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE:
.LFB4:
        pushl        %ebp
.LCFI15:
        movl        %esp, %ebp
.LCFI16:
        pushl        %esi
.LCFI17:
        pushl        %ebx
.LCFI18:
        subl        $12, %esp
.LCFI19:
        pushl        $_ZN13FinalVariable6class$E
.LCFI20:
        call        _Jv_InitClass
        movl        _CD_FinalVariable+4, %ebx
        movl        %ebx, (%esp)
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        movl        %ebx, (%esp)
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        popl        %ecx
.LCFI21:
        popl        %esi
.LCFI22:
        pushl        $20
.LCFI23:
        pushl        $_ZN4java4lang6String6class$E
.LCFI24:
        call        _Jv_AllocObjectNoFinalizer
        movl        %eax, %esi
        popl        %eax
.LCFI25:
        popl        %edx
.LCFI26:
        pushl        %ebx
.LCFI27:
        pushl        %esi
.LCFI28:
        call        _ZN4java4lang6StringC1EPS1_
        movl        %esi, (%esp)
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        popl        %ecx
.LCFI29:
        popl        %esi
.LCFI30:
        pushl        $20
.LCFI31:
        pushl        $_ZN4java4lang6String6class$E
.LCFI32:
        call        _Jv_AllocObjectNoFinalizer
        movl        %eax, %esi
        popl        %eax
.LCFI33:
        popl        %edx
.LCFI34:
        pushl        %ebx
.LCFI35:
        pushl        %esi
.LCFI36:
        call        _ZN4java4lang6StringC1EPS1_
        movl        %esi, (%esp)
        call        _ZN13FinalVariable4testEPN4java4lang6StringE
        leal        -8(%ebp), %esp
        popl        %ebx
        popl        %esi
        leave
        ret
.LCFI37:
.LFE4:
        .size        _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE, .-_ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE
        .section        .rodata.jutf8.10,"aM",@progbits,10
        .align 2
        .type        _Utf1, @object
        .size        _Utf1, 4
_Utf1:
        .value        1465
        .value        4
        .ascii        "main"
        .zero        1
        .section        .rodata.jutf8.28,"aM",@progbits,28
        .align 2
        .type        _Utf2, @object
        .size        _Utf2, 4
_Utf2:
        .value        59434
        .value        22
        .ascii        "([Ljava.lang.StringV"
        .zero        1
        .section        .rodata.jutf8.10
        .align 2
        .type        _Utf3, @object
        .size        _Utf3, 4
_Utf3:
        .value        17554
        .value        4
        .ascii        "test"
        .zero        1
        .section        .rodata.jutf8.26,"aM",@progbits,26
        .align 2
        .type        _Utf4, @object
        .size        _Utf4, 4
_Utf4:
        .value        54943
        .value        21
        .ascii        "(Ljava.lang.StringV"
        .zero        1
        .section        .rodata.jutf8.12,"aM",@progbits,12
        .align 2
        .type        _Utf5, @object
        .size        _Utf5, 4
_Utf5:
        .value        626
        .value        6
        .ascii        "<init>"
        .zero        1
        .section        .rodata.jutf8.8,"aM",@progbits,8
        .align 2
        .type        _Utf6, @object
        .size        _Utf6, 4
_Utf6:
        .value        39797
        .value        3
        .ascii        "()V"
        .zero        1
        .data
        .align 32
        .type        _MT_FinalVariable, @object
        .size        _MT_FinalVariable, 60
_MT_FinalVariable:
        .long        _Utf1
        .long        _Utf2
        .value        16393
        .value        -1
        .long        _ZN13FinalVariable4mainEP6JArrayIPN4java4lang6StringEE
        .long        0
        .long        _Utf3
        .long        _Utf4
        .value        16393
        .value        -1
        .long        _ZN13FinalVariable4testEPN4java4lang6StringE
        .long        0
        .long        _Utf5
        .long        _Utf6
        .value        16385
        .value        -1
        .long        _ZN13FinalVariableC1Ev
        .long        0
.globl _ZTVN13FinalVariableE
        .align 32
        .type        _ZTVN13FinalVariableE, @object
        .size        _ZTVN13FinalVariableE, 36
_ZTVN13FinalVariableE:
        .long        0
        .long        0
        .long        _ZN13FinalVariable6class$E
        .long        4
        .long        _ZN4java4lang6Object8finalizeEv
        .long        _ZN4java4lang6Object8hashCodeEv
        .long        _ZN4java4lang6Object6equalsEPS1_
        .long        _ZN4java4lang6Object8toStringEv
        .long        _ZN4java4lang6Object5cloneEv
        .section        .rodata.jutf8.6,"aM",@progbits,6
        .align 2
        .type        _Utf7, @object
        .size        _Utf7, 4
_Utf7:
        .value        0
        .value        0
        .zero        1
        .data
        .align 4
        .type        _CD_FinalVariable, @object
        .size        _CD_FinalVariable, 8
_CD_FinalVariable:
        .long        0
        .long        _Utf7
        .type        _CT_FinalVariable, @object
        .size        _CT_FinalVariable, 2
_CT_FinalVariable:
        .byte        0
        .byte        8
        .align 4
        .type        _catch_classes_FinalVariable, @object
        .size        _catch_classes_FinalVariable, 24
_catch_classes_FinalVariable:
        .long        0
        .long        0
        .long        0
        .long        0
        .zero        8
        .section        .rodata.jutf8.18,"aM",@progbits,18
        .align 2
        .type        _Utf8, @object
        .size        _Utf8, 4
_Utf8:
        .value        20978
        .value        13
        .ascii        "FinalVariable"
        .zero        1
.globl _ZN13FinalVariable6class$E
        .data
        .align 32
        .type        _ZN13FinalVariable6class$E, @object
        .size        _ZN13FinalVariable6class$E, 120
_ZN13FinalVariable6class$E:
        .long        _ZTVN4java4lang5ClassE+8
        .long        0
        .long        _Utf8
        .value        1
        .zero        2
        .long        _ZN4java4lang6Object6class$E
        .long        2
        .long        _CT_FinalVariable
        .long        _CD_FinalVariable
        .long        _MT_FinalVariable
        .value        3
        .value        5
        .long        0
        .long        4
        .value        0
        .value        0
        .long        _ZTVN13FinalVariableE+8
        .long        0
        .long        0
        .long        0
        .long        0
        .long        _catch_classes_FinalVariable
        .long        0
        .long        0
        .value        0
        .byte        0
        .zero        1
        .long        0
        .value        0
        .zero        2
        .long        0
        .long        0
        .long        0
        .long        0
        .long        0
        .long        0
        .section        .jcr,"aw",@progbits
        .align 4
        .long        _ZN13FinalVariable6class$E
        .section        .eh_frame,"a",@progbits
.Lframe1:
        .long        .LECIE1-.LSCIE1
.LSCIE1:
        .long        0x0
        .byte        0x1
        .string        "zP"
        .uleb128 0x1
        .sleb128 -4
        .byte        0x8
        .uleb128 0x5
        .byte        0x0
        .long        __gcj_personality_v0
        .byte        0xc
        .uleb128 0x4
        .uleb128 0x4
        .byte        0x88
        .uleb128 0x1
        .align 4
.LECIE1:
.LSFDE1:
        .long        .LEFDE1-.LASFDE1
.LASFDE1:
        .long        .LASFDE1-.Lframe1
        .long        .LFB2
        .long        .LFE2-.LFB2
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI0-.LFB2
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI1-.LCFI0
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI3-.LCFI1
        .byte        0x2e
        .uleb128 0x4
        .byte        0x4
        .long        .LCFI4-.LCFI3
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE1:
.LSFDE3:
        .long        .LEFDE3-.LASFDE3
.LASFDE3:
        .long        .LASFDE3-.Lframe1
        .long        .LFB3
        .long        .LFE3-.LFB3
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI5-.LFB3
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI6-.LCFI5
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI8-.LCFI6
        .byte        0x83
        .uleb128 0x3
        .byte        0x4
        .long        .LCFI9-.LCFI8
        .byte        0x2e
        .uleb128 0x4
        .byte        0x4
        .long        .LCFI10-.LCFI9
        .byte        0x2e
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI11-.LCFI10
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI12-.LCFI11
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI13-.LCFI12
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI14-.LCFI13
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE3:
.LSFDE5:
        .long        .LEFDE5-.LASFDE5
.LASFDE5:
        .long        .LASFDE5-.Lframe1
        .long        .LFB4
        .long        .LFE4-.LFB4
        .uleb128 0x0
        .byte        0x4
        .long        .LCFI15-.LFB4
        .byte        0xe
        .uleb128 0x8
        .byte        0x85
        .uleb128 0x2
        .byte        0x4
        .long        .LCFI16-.LCFI15
        .byte        0xd
        .uleb128 0x5
        .byte        0x4
        .long        .LCFI19-.LCFI16
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI20-.LCFI19
        .byte        0x2e
        .uleb128 0x10
        .byte        0x83
        .uleb128 0x4
        .byte        0x86
        .uleb128 0x3
        .byte        0x4
        .long        .LCFI21-.LCFI20
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI22-.LCFI21
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI23-.LCFI22
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI24-.LCFI23
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI25-.LCFI24
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI26-.LCFI25
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI27-.LCFI26
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI28-.LCFI27
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI29-.LCFI28
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI30-.LCFI29
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI31-.LCFI30
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI32-.LCFI31
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI33-.LCFI32
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI34-.LCFI33
        .byte        0x2e
        .uleb128 0x8
        .byte        0x4
        .long        .LCFI35-.LCFI34
        .byte        0x2e
        .uleb128 0xc
        .byte        0x4
        .long        .LCFI36-.LCFI35
        .byte        0x2e
        .uleb128 0x10
        .byte        0x4
        .long        .LCFI37-.LCFI36
        .byte        0x2e
        .uleb128 0x0
        .align 4
.LEFDE5:
        .section        .note.GNU-stack,"",@progbits
        .ident        "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-3)"
[/php]

可以看到,还是有不小的区别的。

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2006-9-9 14:34 | 只看该作者
public void fangfa(Test2 t2){
t2.i++;
}

t2.i++ 没设置这个方法,可以直接用么?

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2006-9-9 23:58 | 只看该作者
绝对有错误,典型的JAVA中引用的使用错误,TEST2的变量被TEST改变了,但是I确实FINAL的,所以不能改变,

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2006-9-12 00:21 | 只看该作者
这个程序的错误是不是要告诉我们 调用函数的时候 参数的类型应该一一对应 是吗》?

各位大虾》》??

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2006-09-30 14:30:13ITPUB元老
日期:2006-10-01 06:07:56会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
20#
发表于 2006-9-29 12:32 | 只看该作者
少 ;

使用道具 举报

回复

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

本版积分规则 发表回复

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