Java中的方法修饰符有public,private,protect,请问谁能举个例子说明这几中修饰符的应用场景啊。
比如说再什么情况下要使用public,什么情况需要使用private。

解决方案 »

  1.   

    所有JAVA基础教程都有详细的介绍。
      

  2.   

    One:public     java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。
    Two:private    java语言中队访问权限限制最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象,其子类不能访问,更不允许跨包访问。
    Three:protect    java语言中介于public和private之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法以及子类访问。即使子类在不同的包中也可以访问。
    Four:(default)即不加任何访问修饰符,通常称为“默认访问模式”。该模式下,只允许在同一个包中进行访问。
    兄弟,你可以下载《Java 编程思想》去看下第四版第六章。
    至于什么时候使用,你自己琢磨着看看,都已经告诉你基本的作用了,使用上应该问题不大~~!
      

  3.   

    建议你下载尚学堂马士兵java视频教材很有用看看就懂了
      

  4.   

    尽量使用private,不行的话用protected或默认的,还不够用的话就public
      

  5.   

    非常感谢各位的回复,这几个修饰符的作用是知道的,我是想知道,这几个修饰符怎么来使用,比如开发的时候,你是用public呢,还是用private比较好呢?
      

  6.   

    尽量使用private,不行的话用protected(一般用于基类,方便继承),还不够用的话就public
      

  7.   

    public 是外面什么对象都可以访问。。
    protected 只有继承的子类才可以访问
    private   只有类本身才可以访问
    default  (没有关键字)同一个包下的都可以访问。不管是不是子类。要怎么用还真不知道怎么用,因为这要看你设计时的应用。。
    一般你想在类里面自己控制。外面访问时有一定限制。那么设置成private 然后做一个public 的方法。
    就可以在public 的方法里面控制该变量的创建于赋值。例如:
    public Test class{
        private String name;
        
        public void setName(String name){
            if(name.equals("小明")){
                this.name="小明";
            }else{
                this.name="大明";
            }
        }
        public String getName(){
            return name;
        }
    }上面的例子中。name 是 String 按理说可以赋值="CSDN" 或 = "哈哈".
    但你想控制这个name的赋值只能是小明或大明。如果你在外面赋值的时候都要判断后才给其赋值。那么你的代码将很长。因为每次赋值你都要判断一次才赋值。也不符合面向对象的封装概念。。但你按上面的方式做以后。你的代码只要
    Test t=new Test();
    t.setName("HAHA ");
    Systm.out.println(t.getName());打印的将是  "大明"  就是说不管你赋值什么只能给其取名小明或大明。。得以很好的控制对象的一致性。
      

  8.   

    项目          包     类      子类      不同包
    public       y     y      y        y
    protected     y     y      y        n
    默认             y      y      n        n
    private        n      y     n        ny    表示可以调用或者引用     n 表示不能
    楼主在看不明白的话我再給你举例子
      

  9.   

    看马士兵的视频,里面讲的很详细,使用的话,一般尽量定义为private的。
      

  10.   

    属性尽量要用private 方法尽量要用public pretected很好用 但凡事都有个特殊情况 都不对 没有绝对的必须要用哪个