日期:2014-05-20  浏览次数:20816 次

新手求教 java 中ptivate作用是什么啊
下面2个小程序运行结果相同,一个调用了一个公有方法,另一个没有,为什么会相同呢


class Personn1
{
  private String name;
  private int age;
  public Personn1(String n,int a)
{
  name=n;
  age=a;
  System.out.println("...");
}
public String talk()
{
  return name+age;
}

}
public class Test
{
 public static void main(String[] args)
 {
  Personn1 p=new Personn1("张三",22);
  System.out.println(p.talk());
}
}



class Personn1
{
  private String name;
  private int age;
  public Personn1(String n,int a)
{
  name=n;
  age=a;
  System.out.println("...");
  System.out.println(name+age);
}
  
}
public class Test
{
 public static void main(String[] args)
 {
  Personn1 p=new Personn1("张三",22);

  
}
}

------解决方案--------------------
private 私人物品,只有自己才能用。
------解决方案--------------------
你 new 一个新的对象,就要调用类的构造方法
我运行下,没有调用共有方法只能打印第一句,第二句不能打印
------解决方案--------------------
private表示私有不可见。
------解决方案--------------------
private本类可见 其它类不行
------解决方案--------------------
private 表示这个类的这个属性只属于自己,别的对象不能够直接访问。
------解决方案--------------------
引用:
可是为什么没有调用共有方法的那个也可以运行呢


因为你第二个类的构造方法里打印了和共有方法一样的内容- -
------解决方案--------------------
自己属性,只有本类可以访问,别的类访问不了。
------解决方案--------------------
楼上是正解!