• Java构造函数重载


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

    //C++参数默认值机制
    #include <iostream>
    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,也感觉写代码更累一点(当然,比没有要好多了),也许我还是入门玩家,或者还有些没发现的插件,如果你知道,赶紧告诉我吧^_^

  • 相关阅读:
    GC 案例收集整理
    Netty ByteBuf泄露定位修改。
    使用Modernizr 检测HTML5和CSS3浏览器支持功能 (转自http://www.adobe.com/cn/devnet/dreamweaver/articles/using-modernizr.html)
    drupal网站邮件发送功能的实现
    Customizing and Overriding User Login page, Register, and Password Reset in Drupal 6 and 7
    WordPress网站迁移
    HTTP协议详解 (转)
    HTTP协议
    Apache服务器放置多个站点的配置方法 (转)
    Apache禁止或允许固定IP访问特定目录、文件、URL
  • 原文地址:https://www.cnblogs.com/fstang/p/2835466.html
Copyright © 2020-2023  润新知