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
*/

http://www.verejava.com/?id=16992728331734

posted @ 2018-06-17 09:39  verejava  阅读(395)  评论(0编辑  收藏  举报