java包的有关问题 发布时间: 2012-02-02 23:57:14 作者: rapoo
java包的问题 test.java package ch1; class test{ int i; } test1.java package ch1; import ch1.*; public class test1{ test n=new test(); System.out.println(n.i); } }将这两个java文件产生的字节码文件放在ch1中,为什么时候运行的时候 老是出错呀?classpath应如何设置?[解决办法] 1.你是怎么编译的? 2.你是怎么运行的? 3.报什么错? 问题现象要说清楚。[解决办法] n.i 出的错,不是同一个包下,是访问不到默认修饰符修饰的变量的[解决办法] 把test定义为public[解决办法] test.java是一个单独的类,还是写在test.java中的,你两个类都有包,应该是两个单独的类,要是单独的类就应该这样写 test.java package ch1; public class test{ int i; }[解决办法]
探讨 test.java 和test1.java都放在同一个目录 下的,首先用javac test.java -d . 字节码文件自动产生在ch1文件夹下,javac -classpath . test1.java -d . 然后用java test1 编译就老是出错!麻烦各位了,在帮我看看![解决办法] 修饰符的问题
[解决办法] 探讨 引用: test.java 和test1.java都放在同一个目录 下的,首先用javac test.java -d . 字节码文件自动产生在ch1文件夹下,javac -classpath . test1.java -d . 然后用java test1 编译就老是出错!麻烦各位了,在帮我看看! 1.java test1 这个不叫编译,这个叫运行,javac才是编译 2.java后面要跟完整的类名,也就是说你要写成javac ch1.test1 3.test1.java里没有main函数,你那样写应该编译就出错,应该写成 Java codepackage ch1;publicclass test1{publicstaticvoid main(String[] args) { test n=new test(); System.out.println(n.i); } } 4.代码不规范,类名应该用大些字母大头,Test、Test1,而不是test、test1;不要直接n.i这样访问变量,test类里要写get方法,其他类通过get方法访问test的i变量;声明i的时候最好初始化一下,虽然不显示的初始化java也会给个默认值0[解决办法] 探讨 修饰符的问题