原代码是:public class jie2{
static void changint(int b){
b=80;
}
static void changperson(Person 某人){
某人.姓名="某某人";
某人.年龄=49;
某人.介绍自己(); } //....
public static void main(String arg[]){
Person 张三=new Person();
张三.姓名="张三";
张三.年龄=30;
System.out.println("下面是张三的自我介绍");
张三.介绍自己(); changperson(张三); System.out.println("下面再请张三作自我介绍");
张三.介绍自己();
int a=500;
System.out.println("调用 changint函数前a="+a); //...
changint(a);
System.out.println("调用 changint函数后a="+a);//...
}
}
static void changint(int b){
b=80;
}
static void changperson(Person 某人){
某人.姓名="某某人";
某人.年龄=49;
某人.介绍自己(); } //....
public static void main(String arg[]){
Person 张三=new Person();
张三.姓名="张三";
张三.年龄=30;
System.out.println("下面是张三的自我介绍");
张三.介绍自己(); changperson(张三); System.out.println("下面再请张三作自我介绍");
张三.介绍自己();
int a=500;
System.out.println("调用 changint函数前a="+a); //...
changint(a);
System.out.println("调用 changint函数后a="+a);//...
}
}
解决方案 »
- JDK1.5中String.replace()的实现有点奇怪
- 如何自动生产XML
- 大家帮我解答一下类Hashtable的特点和主要方法.还有这个Vector.
- 我装了Tomcat-4.1.31版本,为什么运行不了呀
- 妹妹急求回显的问题!!!
- JComboBox的默认值是其第一个值,我想把改变默认值该怎么做?
- 一个java 的简单程序错误 请教->
- 如何在程序中判断一个文件夹中有多少个文件?
- 关于用javax.swing.joptionpane的问题?
- 我用javamail做邮件系统用message.getContent()为什么读不出来,答者有分,谢谢!
- 初级问题,关于public的
- 新手,请问初学JAVA一般采用什么软件啊?
a是不会改变的
因为你没有给jie1.java和jie2.java指定他们的包名,他们是在同一个文件下,java默认为他们是在同一个包内,所以jie2可以访问jie1中的Person类。
----------------------------------
不一定
如果没明确定义package的话,凡是CLASSPATH下的文件都默认一个包中
注意,被调用的类必须是public的
但并不是可以访问的类就是同一个package。
我刚才的发言 “注意,被调用的类必须是public的”更正为 被调用的类可以是public的 也可以不是,因为既然默认在同一个包中,当然不存在
外部调用关系。所以可以不是public的
如果你的类,函数或变量没有没有明确声明是public,protected或是private,就默认是friendly的。
qazxsw1982103(c++) 说随便一个类可以访问classpath下的类的public函数,但它不能访问friendly的,很明显,说明这两者不是在同一个包中
{
def(String x) //这不是friendly吗
{
System.out.println(x);
}
};class abc //放在桌面上,并运行它
{
public static void main(String[] args)
{
def x=new def("lalala"); //装载def类
System.out.println("Hello World!"); }
}
回答问题是可以的:path是可执行文件的路径,比如java.exe,javac.exe等等
classpath类和包的路径,当你引用一个类的时候,编译器会从classpath指定的目录下去搜索。