社区
Java SE
帖子详情
Private 变量/方法问题请教
muiz
2007-10-29 03:00:01
如下类:
class A
{
private int i = 0;
public boolean equals(A a)
{
return (this.i == a.i); // <-- 这里为什么可以访问私有变量?
}
}
我只知道可以, 但没有追究过原因. 请明白之人正解!
...全文
161
13
打赏
收藏
Private 变量/方法问题请教
如下类: class A { private int i = 0; public boolean equals(A a) { return (this.i == a.i); // <-- 这里为什么可以访问私有变量? } } 我只知道可以, 但没有追究过原因. 请明白之人正解!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paudal_1984
2007-10-31
打赏
举报
回复
public class A {
private int i = 0;
public boolean equalsA(A a)
{
return (this.i == a.i);
}
public boolean equalsB()
{
B b=new B();
return (this.i == b.v);
}
public boolean equalsC()
{
C c=new C();
return (this.i == c.r);
}
class B{
private int v=0;
}
}
我試著用了一下,發現類中的子類的私有變量也可以直接訪問(如equalsB方法)
C類是另外一個JAVA檔,其中的私有變量r就不可訪問
PS:未查資料,如有不對的地方請不吝指正
llxiong
2007-10-31
打赏
举报
回复
private型变量只能在本类内可以被访问。
实际上,把重要的数据修饰为private,然后写一个public的函数访问它,正好体现了OOP的封装特性,是OOP安全性的体现。
muiz
2007-10-31
打赏
举报
回复
明白, 学习
zhb_821012
2007-10-30
打赏
举报
回复
基础不扎实
wuzheng321
2007-10-30
打赏
举报
回复
好好看看public,protect,private的权限吧
wengs2006
2007-10-30
打赏
举报
回复
private属性在本类中可以访问,该类的子类、包内类、包外类都没有访问权的。。。。。。。。。。。
oldabc
2007-10-30
打赏
举报
回复
顶6楼说法..
胡矣
2007-10-29
打赏
举报
回复
private 是说只在当前类使用,不是说只在当前对象使用
muiz
2007-10-29
打赏
举报
回复
呵呵, 也只能这样了. 下午一个刚学java的问, 一下给问住了 :)
Dan1980
2007-10-29
打赏
举报
回复
这个问题从理论上来理解确实存在争议。
但java规定了,同一个类的所有实例,互相之间有完全访问权。就当它是个规定,记住就没错了。
muiz
2007-10-29
打赏
举报
回复
但是实例a, 对于A的equals(A)方法, 应该是个外部变量吧?
johnsoncr
2007-10-29
打赏
举报
回复
private i是在class A的内部定义的,所以在class A{}之内的方法可以访问它!但在其它的class里面就不可以了!
ChDw
2007-10-29
打赏
举报
回复
因为在类A中,总是可以访问类A的私有变量,即使是另外一个实例的私有变量。这个是Java中的规范来的
JAVA有感
- 注意
变量
的作用域以及初始化等
问题
。 - 对于错误处理,尤其是异常处理,要给予足够的重视。 #### Java 基本概念 1. **
变量
的初始化:** -
变量
可以在声明时初始化,也可以在后续代码块中初始化。 - 不同类型...
JAVA实验报告册.pdf
- **权限访问控制符**:`public`和`
private
`用于设定类、
方法
和
变量
的可见性。 - **继承**:一个类可以从另一个类继承属性和
方法
。 - **重写与重载**:重写是子类覆盖父类的
方法
,重载是在同一类中创建具有相同...
北师珠信院Java期末考试复习题.zip
8. **Chapter 8 - 构造器与访问修饰符**:讲解构造函数的作用,以及public、
private
、protected等访问权限的用法。 9. **Chapter 9 - 继承与接口**:详细阐述单继承与多继承,以及接口的定义和实现。 10. **...
非C程序员C++入门自学
【C++入门自学指南】 C++是一种强大的、通用的编程语言,它继承了C语言的高效性和灵活性...遇到
问题
时,不要害怕寻求帮助,可以查阅在线文档、参与编程论坛讨论或
请教
有经验的程序员。祝你在C++的学习旅程中取得成功!
Java期末考试试卷及相关解释
部分试卷附带了解释,以便考生理解题目意图和解题
方法
,而有些试卷则没有提供解释,可能需要考生自我解析或寻求外部帮助。 首先,Java基础知识部分可能包括语法特性,如
变量
声明、数据类型、运算符、流程控制(如if...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章