对面向对象中封装的理解
本文为刚接触java新手编辑,文中如有错误,请多多指教!
本周刚刚学习了面向对象.说实话对于初学者来说,这个词汇很抽象,就算你给他说一万遍面向对象就是”世界有万物,万物皆对象,可以把所有的东西都看成一个对象”,他只是表面上记住了这个概念,真要让他自己去阐述的话,他的脑子里会一片空白,很迷茫.
今天我想分享的是面向对象三大特点中的封装,但从字面上来说,封装的定义就是把自己内部的细节隐藏起来,用private修饰,不让其他类随便调用,这样可以保护类中变量的安全性,要想调用的话只能通过公共的方法,比如setxxx,getxxx,如下代码所示:
class Demo{
int a=10;//成员变量
private int b=20;
public void setb(int b){
this.b = b;
}
public int getb(){
return b;
}
public void num (){
System.out .println(“我爱Java”);
}
private void num1(){
System.out.println(“我爱生活”);
}
public void num2(){
num1();
}
}
//创建测试类
class testDemo{
public static void main (String[] args ){
Demo d = new Demo();//创建对象
System.out.println(“a的值:”+d.a);//输出a的值
d.setb(20);
System.out.println(“b的值是:”+d.getb());//输出b的值
d.num();//调用Demo中的num方法
d.num2();//通过num2访问Demo类中的num1方法
}
}