Java 面向对象 之 封装

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

/*
测试 Person 类
步骤:
1. 如果要访问Person类必须, 先实例化一个 Person的对象
2. 然后通过返回的对象引用名 去访问该对象在类当中定义的 属性和方法
   比如 对象引用名.name     对象应用名.age       对象引用名.say()
*/

public class TestPerson
{
	public static void main(String[] args)
	{
		//对象的实例化 
		/*
			其中 new Person(); 就是实例化Person对象, 返回一个Person的引用
			p 就是指向 new Person()在堆中生成的对象的一个引用名
		*/
		Person p=new Person();
		//用对象引用名 p 访问属性和方法
		p.name="李明";
		p.age=22;
		p.say();//李明开始自我介绍了

		Person p2=new Person();
		p2.name="王强";
		p2.age=23;
		p2.say();//王强开始自我介绍
		
		/*
		把p2指向的Person对象的地址赋值给p,这个时候p 指向的是 p2的对象
		这个时候开始生成的 李明 Person对象已经没有引用指向它, 属于垃圾对象
		当 GC来扫描的时候就会自动回收该对象
		*/
		p=p2;
		p.say();

		/*
		注意:
		   如果只是声明一个空的 Person对象 ,而没有实例化, 这个时候访问属性和方法的
		   时候编译期能通过,但是在运行期会报 NullPointerException 空指针异常
		*/
		/*Person p3=null;
		p3.name="张胜";
		p3.age=24;
		p3.say();*/
	}
}

/*
1. 定义一个Person类  类由属性和方法组成
2. Person类当中有两个属性 :姓名,年龄
3. Person类区别于动物的一个重要方法是:说话
*/
class Person
{
	String name;
	int age;

	public void say()
	{
		System.out.println("我的名字叫:"+name+",今年:"+age+"岁");
	}
}

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

猜你喜欢

转载自blog.csdn.net/verejava/article/details/80504967