去认真看看JAVA的继承和重载吧,相信你很快就能解决!

解决方案 »

  1.   

    我就是要给方法的参数指定默认值,问题是在java中如何指定默认值
      

  2.   

    要么在方法中给参数一些初始值,要么写成类,用不同的构造函数java和c++不同
      

  3.   

    public void yourMethod(String a,String b)
    {
        String a0="aaaa";
        String b0="bbbb";
        if(!(a==null||a.equals("")))
        {
            a0=a;
        }
    ....
    ....
    }
      

  4.   

    java没有与C++那样的默认参数,
    方法内部判定来是否使用初始值
    但传递参数必须保证类型和个数
      

  5.   

    不是这样的吗
    public int add(int a, int b=10)
      

  6.   

    重载可以指定参数个数,但不能指定方法的默认值呀。
    java中的方法都是类的成员。
      

  7.   

    写成多个重载的不同参数个数和类型,互相调用来满足默认形参f(int i){
       f(i,100);
    }f(int i,int j){
    }象上面你可以假设j的默认值为100的时候
    就使用f(20)来使用方法
    在f(int i)内部也就调用了f(int i,int j),j为100不同参数类型的重载方法也一样,反正就是没有c++方便。
      

  8.   

    不是这样的吗?public int add(int a, int b=10)java中有没有函数声明?
      

  9.   

    public int add(int a, int b=10)在java中不能这样写,编译就知道它是错的//java当然也可以有类似java那样的函数声明
    //那就是java在一个接口中声明一个抽象方法
    //相当于c++中的纯虚方法但是没有像C++的头文件那样,只声明
    而放在体文件里去实现java的声明与实现是在一起的。
      

  10.   

    也就是说java没有像C++那样public int add(int a, int b=10)声明参数默认值的方法,是吗?但是我觉得java设计为这样,似乎没有什么道理!
      

  11.   

    在你声明的方法中直接给定默认初值就行了。例如:
    class Line extends Shape{
     private int start,end;
     Line(int start,int end){
     super(start);
     this.start=start;
       等等
      }
    }
      

  12.   

    java与C++在设计上各有各个好处吧
    c++的声明默认参数时语言上会显示的简洁点但java采用重载方法来解决
    方法的调用上会显示得更明淅一点
    相应数量,类型的参数调用相应的方法很清楚特别是声明为
    public int add(int a, int b=10)
    调用时用add(100);如果同时有一个方法是
    public int add(int a)这时个逻辑上可能就不好理解,更实际上
    你用add(200)来调用就会出现含混不清的编译时错误
    用 add(200,100)才行
      

  13.   

    public class Abc {    public void log(String message) {
            log(new Date(), message);
        }
        public void log(Date dt, String message) {
            // ...
        }
    }
    是这个意思吗?