java重载构造函数_Java构造函数重载

Java么有C++的参数默认值的机制,要用重载,请看下面的对比

//C++参数默认值机制

#include

using namespace std;

class testDefaultParam {

public:

testDefaultParam (int a, int b = 2){

cout << a * b << endl;

}

void test(int a = 1234){

cout << a << endl;

}

virtual ~testDefaultParam (){}

private:

/* data */

};

int main(int argc, const char *argv[])

{

testDefaultParam t1(3);

testDefaultParam t2(3, 3);

cout << "---------------\n";

t1.test(4321);

t1.test();

return 0;

}

/*

输出:

6

9

---------------

4321

1234

*/

Java版本:用重载实现类似参数默认的机制

public class Test {

Test(String s1, String s2){

System.out.println(s1 + "\t" + s2);

}

public Test(String s) {

this(s, "default string");//调用已经写好的构造函数,与普通重载不同,要用this

}

public void print(int a) {

System.out.println(a);

}

public void print() {

print(1234);

}

//这两个print方法等价于C++中的print(a = 1234);

public static void main(String[] args) {

Test t1 = new Test("test", "s2");

Test t2 = new Test("test");

System.out.println("--------------------");

t1.print();

t1.print(4321);

}

}

/*

输出:

test s2

test default string

--------------------

1234

4321

*/

ps:

eclipse确实很不错,会自动提示错误,可以告诉你的尝试是不是正确——这个this的用法就是试出来的(当然,书上肯定是有的,Java标准里肯定是有的)

而且,eclipse的自动提示功能丝毫不逊色于visual studio的visual assistant(应该说是更强大),只要配置自动提示(免去按Alt+/的烦恼),方法是:

从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation

在.后面添加abcdefghijklmnopqrstuvwxyz

再谈谈Vim,即使有了Vim的snipmate,也感觉写代码更累一点(当然,比没有要好多了),也许我还是入门玩家,或者还有些没发现的插件,如果你知道,赶紧告诉我吧^_^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值