Java什么时候用static,public,private,protected?

这么说吧,假如你是一个类:
public表示你愿意其他人看见你的物品(字段、属性),或者你愿意帮别人做事(方法);
private表示你不愿意其他任何人看见你的私人物品,也不愿意帮任何人做事;
protected表示你愿意让你的子孙后代看见你的物品,也愿意帮他们做事。

有点牵强了,呵呵。。

代码示例下吧:

public class Person1
{
  private object Computer;//我有电脑,但别人不知道,也用不了
  private void Cook()
  {
     //我会做饭,但别人不知道,我也不帮别人做
  }
}

public class Person2
{
  protected object Computer;//我有电脑,只有我和我孩子知道,别人不知道也用不了
  protected void Cook()
  {
     //我会做饭,但只有我和我孩子知道,我给自己做,也给孩子做,但不给其他人做
  }
}

public class Person3
{
  public object Computer;//我有电脑,周围人(相同命名空间)都知道,大家都可以用
  public void Cook()
  {
     //我会做饭,周围人(相同命名空间)都知道,他们可以让我帮忙做饭
  }
}

Public:最开放,所有的本程序集以及其他的程序集里面的对象都能够访问
Protected:比较开放,自身成员以及子类成员可访问
Private:只有自身成员才能够访问
Static:修饰类时表示该类时静态类,不能够实例化该类的对象,既然不能实例化该类,那么这个类也就不能够含有对象成员,即该类所有成员为静态;修饰类成员时,该成员为类成员,只能通过类.成员名的方式访问

原文地址:https://www.cnblogs.com/chasewade/p/3371491.html