话不多说直接上图上代码
public class Tom {
private int x = 120;
private int y = 20;
int z = 11;
private void f() {
x = 200;
System.out.println(x);
}
void g() {
x = 200;
System.out.println(x);
}
public static void main(String[] args) {
Tom tom = new Tom();
tom.x = 22;//代码1
tom.y = 33;//代码2
tom.z = 55;//代码3
tom.f();//代码4
tom.g();//代码5
}
}
题目是代码1~5那有错
可是实际操作中并没有什么错误啊
是不是我搞错什么了
求大神解答。。。
就是书上的这道题啦
是没错误啊~~
追问看我补充的。。。他应该有错才对啊
答案也是说有错误的
现在看到你的main方法是另一个类中的啊?就是说同包不同类的了,,
所以代码1,代码2,代码4都是错的~~
因为他们都是私有的【就是private的】,由图可以看到私有的只在本类里面可用~~
=======-========
你图上的private int y = 20;是protected的,就是说也是可以的,所以1与4是错的。
也就是说Tom类中的x,y,f()都不可以在A类中使用,是不,那答案是1、2、4咯?
private不是只有本类可见吗
既然main函数不是Tom类就不能使用到Tom类中的x,y、f()
可为什么不报错呢
我是新手,求大神关照
好吧,貌似我错了,你看下这个:http://zhidao.baidu.com/link?url=AiRsHT_Pf9-lwVjWBsC_B1EH0Mg_4BchMW8J4_YXk0kp5CRojU3PDxj9oGuge2sB8UCAG0VI78kru4YH8T-fv_
thereisyougo的回答,中间那条
但是这道题肯定是错的,你仔细看下你的题和你写的,main在A类里肯定调去不到B的private
但是貌似B的main可以调去自己的private
你这样写虽然感觉简单,但两个不是一个概念
这程序本来就是举个private的例子.private是私有的.是不能被修改的.一修改就会报错