黑马程序员技术交流社区
标题:
关于毕老师的this关键字的用法的疑问
[打印本页]
作者:
依然AI
时间:
2012-12-20 12:59
标题:
关于毕老师的this关键字的用法的疑问
本帖最后由 依然AI 于 2012-12-30 12:57 编辑
class Person
{
Person(String name)
{
this.name =name;
}
Person(String name,int age)
{
//this(name); 1:这是老师推荐的用法 this去调用上面的构造函数 再次传参操作 和执行里面的方法
//this.name = name; 2:但是这里的用法是直接操作的
this.age = age;
我的疑问是 参数传进来执行的话 用第一种会再次调用一次构造函数 再次传参操作然后执行里面的方法 然后第二种是直接进行了操作
这样的话 这两种操作 那个更高效呢 ? 第一种更健壮 但是多传参会不会影响效率不如第二种写法呢
}
}
请理解的透彻的大虾解答
作者:
孙辉辉
时间:
2012-12-20 13:41
我觉得还是用第一种方法,因为这体现了封装性而且也提高了复用性。
你想,这里this(name);只是对一个值进行初始化,但是很可能在这个构造函数里面还有很多其他动作,
在 Person(String name,int age)里面你不复用而是自己再重写了this(name)的功能,一方面很繁琐,容易出错,
另外也不能很好的体现封装性
例如一个是Person(int a,int b, int c,int d,int d)
Person(int a,int b, int c,int d,int d,int e)
{
你是准备用this(int a,int b, int c,int d,int d),还是
this.a =a ;
this.b =b;
this.c =c;
this.d =d;
this.e =e;
这样写
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2