java的封装在对其成员变量的体现,是对其访问权限的设置,通过修饰符private (私有的),public(共有的),protected(受保护的),还有默认的友好型的。
用关键字private修饰的成员变量称为私有变量,例如:
class Tom{
private float weigh;
private float f(float a,float b){
return a + b;
}
}
当另一个类中用Tom重建一个对象时,该对象不能访问自己的私有变量和方法,
class Jerry{
void g(){
Tom cat = new Tom();
cat.weight=2.3f; //非法
float sum=cat.f(3,4) //非法
}
}
但可以通过在类中创建set()和get()方法,来实现对其变量的赋值和方法的调用,例如将上诉的Tom类改为:
class Tom{
private float weigh;
private float f(float a,float b){
return a + b;
}
public float setWeight(float weigh){
this.weight=weight;
return weight;
}
private float setF(float a,float b){
f( a, b);
return a+b;
}
}
那么类Jerry中的Tom的实例化对象通过setWeight()和setF()便可以赋值和调用方法了,内容如下
class Jerry{
void g(){
Tom cat = new Tom();
cat.setWeight(2.3f); //合法
cat.weight=2.3f; //非法
float sum=cat.setF(3,4); 合法
float sum=cat.f(3,4) //非法
}
}
java的面向过程中封装、继承、多态是相互关联且不可分的,今天就简单的说下封装中关于成员变量和方法的自己的认识吧,还想写一些其他的吧,下一篇写下封装中关于对对象的封装,通过怎么显示出一个类实例化的对象的个数和如何实现只实例化出一个对象的例子说下自己的理解吧。