A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 古银平 中级黑马   /  2012-5-22 08:32  /  3975 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Person
{
private String name;
private int age;
Person()
{
  System.out.println("A:name="+name+"  age="+age);
}

Person(String n)
{
  name = n;
  System.out.println("B"+"name="+name+"  age="+age);
}
public void setName(String n)
{
  name = n;
}
public String getName()
{
  return name;

}
Person(String n,int a)
{ name = n;
  age = a;
  System.out.println("C"+"name="+name+"   age="+age);
}
public void cry()
{
  System.out.println("cry......");
}
}
class  PersonDemo2
{
public static void main(String[] args)
{
  //Person p1 = new Person();
  //p1.cry();
  
  Person p2 = new Person("lisi");
  p2.setName("libushi");
  System.out.println(p2.getName());
   }
}
求问getName是怎么执行的,或许该程序只是用到了设置值,没用到getName获取值。但是我想知道,getName是怎么执行的,他是怎么获取值的,请教执行流程?

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
setName是你设置值得时候将值赋值给成员变量,
getName是将成员变量的值返回给你;
回复 使用道具 举报
set 和get方法其实就是类中的普通成员方法,只是他的作用一般是给成员变量赋值和获取值。在JAVA中,一般将类中的成员变量都定义为私有的,在类外不让直接访问,就算用该类创建对象,这个对象也不能对这些私有成员进行操作,这时为了给外部提供操作这些私有成员变量,提供了set和get成员方法。这也体现了JAVA中的封装特性。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这种setters和getters方法是基于对象的
setName()是给对象赋值,getName()是获取该对象的值
前提是构造方法必须传相应类型的值,如
Person(String name){
this.name=name;
}
public void setName(String name)
{
   this.name = name;
}
public String getName()
{
   return name;
}
然后具体化
Person p=new Person("haha");
System.out.println(p.getName);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马