java构造器

[复制链接]
查看11 | 回复4 | 2011-8-5 16:51:45 | 显示全部楼层 |阅读模式
class ABC{
        String st1="abc";
        String st2;
        ABC(String st){
                this.st2=st;
        }       
}
st1 和st2 有什么区别? 除了他们使用了不同的初始化方式之外 在使用的时候 有啥区别吗?

回复

使用道具 举报

千问 | 2011-8-5 16:51:45 | 显示全部楼层
在创建ABC的对象时变量st2是动态赋值,而st1是不能在创建对象时动态赋值的,就这点区别...
回复

使用道具 举报

千问 | 2011-8-5 16:51:45 | 显示全部楼层
st2一般需要传参赋值,st1可以直接使用。String类型变量是final声明的,第一次初始化,赋值后,不可再改变它的值,意思是,不管你给它赋了什么值,栈内存不变,输出的值仍然是第一次赋的值。...
回复

使用道具 举报

千问 | 2011-8-5 16:51:45 | 显示全部楼层
你事实上想讨论两种初始化方式用法异同吧?我简单的告诉你,当你的变量需要经过一定的运算才能得到初始化值,那么你就写在构造器里,如果很简单你就直接赋值...
回复

使用道具 举报

千问 | 2011-8-5 16:51:45 | 显示全部楼层
如果一个对象的属性需要在实例化的时候初始化一个我们想要的值,那么采用st1,如果这个字段没有我们自定的初始化值,而是在程序运行时菜赋值,那么采用第二种...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行