java里面成员变量可以直接赋值,为什么还要构造函数啊?
一般给这些成员赋值是通过构造函数还是直接声明的时候赋值啊?这两种方式的适用范围是什么呢?就是说什么时候用哪一种呢?...
一般给这些成员赋值是通过构造函数还是直接声明的时候赋值啊?
这两种方式的适用范围是什么呢?就是说什么时候用哪一种呢? 展开
这两种方式的适用范围是什么呢?就是说什么时候用哪一种呢? 展开
5个回答
展开全部
Java类的成员变量在被修饰为public、protected和包访问权限时,可以在不同层次上直接给成员变量赋值。但是,赋值的前提是:必须存在持有成员变量的对象。而对象的初始化必须调用构造函数,所以构造函数是必不可缺的。至于使用构造函数还是直接声明时给成员变量赋值,那就要看情况而定。如果创建的这个对象是不可变的,那么就必须使用构造函数初始化成员变量,反之,就无所谓。另外,直接给成员变量赋值,Java是不推荐的,因为这样会破坏它的封装性。所以,建议在构造函数或提供setters方法对变量赋值。
展开全部
Java类的成员变量在被修饰为public、protected和包访问权限时,可以在不同层次上直接给成员变量赋值。但是,赋值的前提是:必须存在持有成员变量的对象。而对象的初始化必须调用构造函数,所以构造函数是必不可缺的。
至于使用构造函数还是直接声明时给成员变量赋值,那就要看情况而定。如果创建的这个对象是不可变的,那么就必须使用构造函数初始化成员变量,反之,就无所谓。另外,直接给成员变量赋值,Java是不推荐的,因为这样会破坏它的封装性。
所以,建议在构造函数或提供setters方法对变量赋值。
至于使用构造函数还是直接声明时给成员变量赋值,那就要看情况而定。如果创建的这个对象是不可变的,那么就必须使用构造函数初始化成员变量,反之,就无所谓。另外,直接给成员变量赋值,Java是不推荐的,因为这样会破坏它的封装性。
所以,建议在构造函数或提供setters方法对变量赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接赋值就固定死了,
构造函数去赋值就可以根据写进来的参数去赋值
一般构造函数
闲麻烦用直接声明的时候赋值也行。
构造函数去赋值就可以根据写进来的参数去赋值
一般构造函数
闲麻烦用直接声明的时候赋值也行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
成员变量的赋值一般通过构造函数
直接赋值一般的话都是一些常成员变量,final关键字开头的
其他的时候基本上都是用构造函数
直接赋值一般的话都是一些常成员变量,final关键字开头的
其他的时候基本上都是用构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数试用于动态创建对象。基于对象编程的思想,是不赞成直接给类里面的变量直接赋值的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询