zoukankan      html  css  js  c++  java
  • 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,也感觉写代码更累一点(当然,比没有要好多了),也许我还是入门玩家,或者还有些没发现的插件,如果你知道,赶紧告诉我吧^_^

  • 相关阅读:
    Django进阶(三)
    Django进阶(二)
    全局变量初始化顺序探究
    调试实战 —— dll 加载失败之全局变量初始化篇
    10 个实验搞懂命令提示符
    帮 vs2019 找回丢失的 SDK
    从堆里找回“丢失”的代码
    排错实战 —— 解决 c++ 工程编译错: error C2059 'string' illegal token on right side of xxx
    善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误
    使用 VMware + win10 + vs2019 从零搭建双机内核调试环境
  • 原文地址:https://www.cnblogs.com/fstang/p/2835466.html
Copyright © 2011-2022 走看看