基于作用域,就类似于一个变量或者方法有四种作用域,private ,default,protected,public。

解决方案 »

  1.   

    每一个类, 就算你不写构造方法, 都会有一个默认的 public 的空的构造方法, 只不过隐藏了.
    这个public 是定义这个构造方法, 在什么情况下是否可以使用. 和别的普通方法是一样的.
    如果你只有一个 private 的构造方法, 那就表示, 在外部, 是不让别人创建这个类的实例的.
    如果有多个构造方法, 而前面的修饰不一样, 有些是public , 有的是private 等等, 这就可以让外部在不同情况下调用不同的构造方法, 或者限制其使用, 之类的..... 构造方法你就可以跟别的方法一样的理解, 只不过这个方法是在new的时候才会使用而已....
      

  2.   

    加public和默认的没什么大的区别;
      

  3.   

    +1.
    只有加private和protected才有区别。
    这两个的访问权限更小。建议你去看一下java的访问权限修饰关键字
      

  4.   

    其实,每一个Class系统都会提供一个默认的没有参数的public的构造方法,你没有写构造方法时,系统会默认你调用的是系统提供的构造方法,而当你重写构造方法时(也就是楼主所提到的public,或者不用修饰词的构造方法),当你要new一个Class 的实利时,会根据你所提供的参数来调用相应的方法,而无修饰词与public修饰的构造方法作用域是一样的!
      

  5.   

    习惯上加public吧,public和默认的其实没什么区别,更多的是public private和protected之间的区别
      

  6.   

    不加public的类不能被其它包访问.
      

  7.   

    构造函数一般都是来实例化对象的。public   ,protected  ,default(就是你说的什么都没有的情况),  private.这四种访问控制级别由大到小,一般来讲,构造函数用什么控制符取决于你的需求。例如像单例类,你只希望实例化一次的,不希望其他外部类对此进行实例。或是像枚举类固定实例化几个对象,他们的构造器都是private,像Object这种终极父类,就是要用public 修饰,那样才能在不同包,不同子类里调用。
      

  8.   

    建议楼主看看private、protect、protected、default和public的区别
      

  9.   

    构造函数默认都是public权限的,如果没有构造函数,会默认自动添加一个不带任何参数的构造函数,构造函数前面的修饰主要看你有没有什么特殊的要求了,如果现在需要用到单利模式,那么就可以将构造函数前面的权限修饰符号修改为private,这样一来只有本类可以进行创建对象(new),外部是无法进行new关键字创建对象,在java里面,有很多的类都是属于单利模式的,比如:Runtime类(Runtime.getRuntime()) 以及时间类 :Calendar.getInstance(),楼主可以好好去看看。
      

  10.   

    public,protected,private,default这些词是java保留的关键字,作用就是限制访问,public访问权限最大,protected表示受保护,private表示私有的,只能在同一个类里的才能访问,是限制最严格的修饰符,还有final,this,super都有不同的作用。
      

  11.   

    作用域问题,不写的话就是默认的friendly作用域,写public就是表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
      

  12.   

    作用域的问题,不写就是default,public的权限最小,所有用户都可以访问
      

  13.   

    默认的是default。 其实没有太大区别, 每个类无需定义都有一个默认的无参构造器.
      

  14.   

    这个说的对。
    这里主要有两点知识点,第一点方法修饰符,public   ,protected  ,default(就是你说的什么都没有的情况),  private.的区别;第二点,构造方法使用每个修饰符来修饰的意图是什么?这两点理解了就明白了
      

  15.   

    写不写public差别不太大,写不写private差别很大可以参考:
    http://bbs.csdn.net/topics/390919996
    #5
      

  16.   

    那个是修饰关键词,权限的问题,被不同权限修饰的buff 状态不一样
      

  17.   


    如果你没有写的话,就是默认的:default,也就是包级别(package)
      

  18.   

    构造方法是用来初始化变量的属性的,所以一般来说,要使用Public修饰符,
    但是在单态设计模式中,比如你要让用户选择一个按钮,或者一个选项,在他未完成这个选项之前,就不准他开同类的另一个按钮,这种情况下,就只能把构造方法私有化,然后通过接口来调用构造方法。