Java 面向对象 之 封装方法
http://www.verejava.com/?id=16992728331734
/*
测试类的封装特性
类的封装特性就是, 将类的属性私有化private 然后提供公有的方法去访问
*/
public class Encapsulation
{
public static void main(String[] args)
{
//实例化Person 类
/*
1. 引用对象不能访问类的私有属性
2. 如果要访问私有属性, 一般类中要另外提供访问私有属性的公有方法
*/
Person p=new Person();
//p.name="李明";
//p.age=22;
p.setName("李明");
p.setAge(22);
p.say();
System.out.println(p);
System.out.println(p.getName()+" "+p.getAge());
}
}
class Person
{
//实现类属性的封装 前面加 private 关键字
private String name;
private int age;
//定义访问私有属性的公有方法
/*
括号中 String name 是 方法setName 的传入参数
*/
public void setName(String name)
{
//this 代表当前对象的引用, 哪个对象引用该类,就是指的哪个引用
System.out.println(this);
this.name=name;
}
//String 是方法getName 的返回值的类型 输出返回值
public String getName()
{
return this.name;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return this.age;
}
public void say()
{
System.out.println("我的名字叫:"+name+",今年 "+age+" 岁");
}
}
/*
回顾总结
1. 在类当中定义的变量叫成员变量, 属性就是成员变量, 可以在整个类当中访问
2. 在方法中定义的变量叫局部变量, 只能在定义的方法当中访问
注意: 当局部变量和成员变量同名的时候, 局部变量回覆盖掉成员变量,所以当两个变量同名时
要区分成员变量必须加上 this
*/