❶ private修饰的变量,类生成的对象能否访问
那就要看那个对象,是不是在同一个类中了,同一个类中,则可;否则,不可。
❷ “同一个类的不同对象可以访问对方的private成员变量或调用对方的private成员方法”这句话怎么理解
类或者对象成员可以通过访问说明符设定安全机制,其中成员包括成员变量或成员方法。
其中java支持的四种访问限制:
public——所有类都可以访问
private——只有本类可以访问
protected——子类或者同一包的类可以访问
<省略>——只允许同一包的类可以以访问
下图是访问级别表
所以,同类的两个不同的private成员变量可以进行互访。
❸ 如果想要访问父类中的一个private成员变量有什么方法
类的封装性,一般在定义成员变量的时候定义为private,同时还会定义几个公有的方法实现对该私有成员变量进行操作的函数,这样在类就可以通过 对象名.公有方法 的方式对私有成员进行访问
❹ 读取private成员变量
1、在类中声明private的变量
2、给出get,set方法
3、在其他类中实例化1中的类,然后通过类的对象来点出成员变量,例如:
publicclassUser{
privateStringname;
publicvoidsetName(Stringname)
{
this.name=name;
}
publicStringgetName()
{
returnname;
}
}
publicclassTest{
publicstaticvoidmain(String[]args)
{
Useruser=newUser();
user.setName("张三");
System.out.println(user.getName());
}
}
❺ java 对象能访问私有变量
private:
访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。
也就是说,private的私有只针对其他类,在同一类中并无关系,可以调用
❻ C#中,想读取一个private对象中的private变量该怎么弄
提示的错误不是你说的private的问题,
而是 LR.User 未实例化.
主要还是因为你的类loginResult在new的时候并没有实例化类型为UserDTO的属性User的缘故.
若需要得到正确的结果,如下修改:
把
private UserDTO user;
修改成
private UserDTO user = new UserDTO();
❼ 如何访问类中的private成员变量
总所周知,类中的private属性的成员变量在类外是无法访问的,今天我们探讨的就是如何在类外访问private属性的成员变量。
我们先来看一个简单的例子:
class STU
{
public:
STU()
{
x = 5;
y = 10;
}
private:
int x;
int y;
};
int main()
{
STU t;
int*p = (int*)&t + 1;
return 0;
}
通过上面的代码我们可以知道,方法是把类对象的地址强制转化为int*类型,因为类对象里存储的只是成员变量,所以通过对指针的操作可以访问到private类型的成员变量。
接下来还有一个例子:
class STU
{
public:
STU()
{
c = 'f';
y = 10;
}
private:
char c;
int y;
};
int main()
{
STU t;
int*p = (int*)((char*)&t + 4);
cout << *p << endl;
return 0;
}
这段代码中最重要的就是int*p = (int*)((char*)&t + 4);
因为第一个数据是char类型的,所以要把对象的地址转化为char*型,对象中存在两种类型的数据,需要考虑内存对齐,所以当要访问下一个int型变量的时候,指针需要加4,而不是加1。最后要取到int型的变量,还是要把地址强转为int *。
❽ 类对象可以访问自己的私有成员
在类自己的成员函数及类的友元类和类的友元函数里是允许访问私有成员的,如果是在非类的成员函数或友元类或友元函数中是不可能的,你可以试试
❾ C++的对象做为参数时,可以访问private变量
P是Person的一个实例,age是私有数据成员,根据类的访问控制规则,在类的外部,只能方位类的共有函数或树形,在这个程序中,cout
<<
p.age
<<
endl;是在类的外部,是不能直接访问私有数据的。
void
Person
::
show(Person
p)
{
//怎么可以输出呢??
age,与sex不是private的吗?
cout
<<
p.age
<<
p.sex
<<
endl;
}
这一段是类的函数实现,属于类的内部,可以访问私有数据成员。