对象访问私有成员
‘壹’ java main函数为什么可以访问对象的私有成员变量
1、Java main函数之所以可以访问对象的私有成员变量,是因为这个对象的成员变量提供了获取成员变量的方法即get方法,这样main方法就可以通过创建出这个对象,再通过这个对象调用get方法来访问这个私有成员变量;
2、接下来通过一个例子来进一步的解释:
首先创建一个包含私有成员变量的类,如下:
publicclassDemo2{
privateinta=1;
publicintgetA(){//提供get方法
returna;
}
}
其次创建包含main的类,如下:
publicclassDemo1{
publicstaticvoidmain(String[]args){
Demo2demo2=newDemo2();//创建对象
System.out.println(demo2.getA());//通过对象调用get方法访问私有成员变量
}
}
这样就通过创建的对象的get方法来访问到了对象的私有成员变量了。
‘贰’ 类对象可以访问自己的私有成员
这就好比this指针
成员函数就是一接口,通过接口可以访问任何本类私有成员
>
>
>补充一下,对这个问题,我也有点晕,呵呵,换一个角度来考虑,
私有成员变量或函数存在的目的是为了使 类 达到封装和隐蔽的效果,类的封装好坏直接影响到类的完善与否和功能强弱。但是类的封装行是对于类对象而言的,而不是本类的本身,如果一个人能够达到了可以改写本类成员函数的权限,那么,封装和隐蔽还有什么作用呢?如果你可以直接改写类,那么这个类的封装已经暴露在你眼前,信息的隐蔽也就无从谈起了,所以说,本类的成员函数调用本类的对象(包括参数形式)是没有必要进行信息的封装和隐蔽的,因为这是没有意义的。
‘叁’ 类对象可以访问自己的私有成员
在类自己的成员函数及类的友元类和类的友元函数里是允许访问私有成员的,如果是在非类的成员函数或友元类或友元函数中是不可能的,你可以试试
‘肆’ C++中类的对象可以访问类的私有数据成员吗
类的对象是不能访问类的私有数据成员的,只有通过类的成员函数才可以访问类的私有数据。
‘伍’ 通过对象能否直接访问类的私有数据成员
不能在类外以任何方式访问类当中的私有和保护的成员变量和成员函数。除非是在友原类或者友原函数当中。