| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 604 人关注过本帖
标题:java常识问题,被晒晕,原来知道,现在忘了??请提示!!
只看楼主 加入收藏
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
 问题点数:0 回复次数:9 
java常识问题,被晒晕,原来知道,现在忘了??请提示!!

同类的对象可以直接 访问 同类对象的私有成员,这是为什么?
怎么会这样呢??请各位高手解答一下。。谢谢!!
如 :
public class A{
private int x; //私有的
public A()
{
x=0;
}
public A( A aa )
{
x=aa.x; //<font color=red>直接用 点运算符 访问 对象 aa 中的 private 的成员.</font>
}
}

搜索更多相关主题的帖子: java 提示 public private 对象 
2006-06-16 21:10
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
在同一个类里是可以被调用的
不同类里 只能调用public 的 而不能private 的

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-16 21:17
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
在同一个类里是可以被调用的,,我知道。
如:
public class A{
private int x;
public A(){};
public A(int xVal)
{
x=xVal;
}
private class B{
private int y=10;
public void set()
{
x=y;
}
}
}
我不问这个
是问上面那了的原因.

2006-06-16 21:26
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 

请各位解释一下 同类 “对象”可以访问 同类“对象”的私有成员,
的原因。也就是在类外 的 同类对象 之间的访问。


2006-06-16 21:35
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

私有方法和变量只能在类的方法里调用,不能走出类这个范围
也就是说你在别的类里面造了这么一个对象,那么这个对象已经不在原来的自己那个类了
这个时候肯定不能调用了


可惜不是你,陪我到最后
2006-06-17 11:11
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
再给你张表 就更能理解了

Private成员

缺省成员

Protected成员

public成员

同一类中成员

同一包中其他类

不同包中子类

不同包中非子类


子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-17 17:20
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
public class A
{
private int x; //私有的
public A()
{
x=0;
}
public A( A aa )
{
x=aa.x; //<直接用 点运算符 访问 对象 aa 中的 private 的成员
}
}

2006-06-17 17:58
shiyide
Rank: 2
等 级:新手上路
威 望:4
帖 子:297
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用private在2006-6-16 21:35:58的发言:

请各位解释一下 同类 “对象”可以访问 同类“对象”的私有成员,
的原因。也就是在类外 的 同类对象 之间的访问。

public class A
{
private int x; //私有的
public A()
{
x=0;
}
public A( A aa )
{
this.x=aa.x;
}
你说的这个例子根本就不是同一个类的对象访问同类对象的私有成员。
我上面的改动你可能会看清楚一些。


学好编程,为中国的软件事业出一份力。
2006-06-17 19:07
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
public class A
{
private int x; //私有的
public A()
{
x=0;
}
public A( A aa )
{
x=aa.x; //<直接用 点运算符 访问 对象 aa 中的 private 的成员
}
}
现在不问上面的问题了,只问这个例子
为什么是正确的.和java虚拟机是则么理解它的.

A aa = new A();

A bb= new A(aa); // aa.x(直接用点成员访问) 赋给了bb中的x;

2006-06-17 19:20
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
不太明白你要问的问题是什么 很乱

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-17 19:30
快速回复:java常识问题,被晒晕,原来知道,现在忘了??请提示!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015481 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved