封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
举例:比如你想看放风筝,你只需要找到一个会放风筝的人就可以了,你不必去了解他是怎么把风筝放起来的,对你而言,放风筝的人如何放风筝就是隐藏的属性与实现的细节‘,找到放风筝的人就是对象。
好处:将变化隔离‘。
便于使用。
提高重用性。
提高安全性。
class Person
{
private String name;
private int age;
Person(int age)
{
this.age = age;
}
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this.name = name;
this.age = age;
}
public void speak()
{
System.out.println("name="+this.name+"...age="+this.age);
this.show();
}
public void show()
{
System.out.println(this.name);
}
/*
需求:给人定义一个用于比较年龄是否相同的功能。也就是是否是同龄人。
*/
public boolean compare(Person p)
{
return this.age==p.age;
}
}
class PersonDemo3
{
public static void main(String[] args)
{
Person p1 = new Person(20);
Person p2 = new Person(25);
boolean b = p1.compare(p2);
System.out.println(b);
//Person p = new Person("lisi");
//Person p1 = new Person("zhangsan");
//p.speak();
//p1.speak();
//p.speak();
}
}