我编译了以下三个几个类文件
分别是存在D:\java\lession3下的
lession3.java ;
DSamePackage.java ;
PSamePackage.java ;
存在D:\java\lession3other下的
POtherPackage.java ;
DOtherPackage.java ;
其中lession3.java是做主程序入口的
代码分别是<lession3.java>:
package lession3;
public class lession3
{
public static void main(String args[])
{
lession3 l3=new lession3();
l3.PSamePackage();
l3.DSamePackage();
l3.POtherPackage();
}
}<PSamePackage.java>:package lession3;
public class PSamePackage
{
public String to String()
{
retrun "相同包中的公开类";
}
}<DSamePackage.java>package lession3;
class DSamePackage
{
public String toString()
{
return "相同包下的默认类";
}
}<POtherPackage.java>:
package lession3other;
public class POtherPackage
{
public String toString()
{
return "不同包下的公共类";
}
} <DOtherPackage.java>package lession3other;
class DOtherPackage
{
public String toString()
{
return "不同包下的默认类";
}
}我的目的是想通过lession3other中的来访问其它包中的类
不过不知道怎么编译~~
看起来长点,不过应该解决起来不难,谢谢各位了~~
分别是存在D:\java\lession3下的
lession3.java ;
DSamePackage.java ;
PSamePackage.java ;
存在D:\java\lession3other下的
POtherPackage.java ;
DOtherPackage.java ;
其中lession3.java是做主程序入口的
代码分别是<lession3.java>:
package lession3;
public class lession3
{
public static void main(String args[])
{
lession3 l3=new lession3();
l3.PSamePackage();
l3.DSamePackage();
l3.POtherPackage();
}
}<PSamePackage.java>:package lession3;
public class PSamePackage
{
public String to String()
{
retrun "相同包中的公开类";
}
}<DSamePackage.java>package lession3;
class DSamePackage
{
public String toString()
{
return "相同包下的默认类";
}
}<POtherPackage.java>:
package lession3other;
public class POtherPackage
{
public String toString()
{
return "不同包下的公共类";
}
} <DOtherPackage.java>package lession3other;
class DOtherPackage
{
public String toString()
{
return "不同包下的默认类";
}
}我的目的是想通过lession3other中的来访问其它包中的类
不过不知道怎么编译~~
看起来长点,不过应该解决起来不难,谢谢各位了~~
然后把编译好的lession3.class剪切到新建一个叫“lession3”的文件加内部,即:D:\java\lession3\lession3下同样的方法编译好其他的类,放到对应的文件夹(包)中在main()的类中用import语句把需要用的类,引入进来。大概说到这里,你试试吧。
lession3other下的类访问lession3下的需要在类开头引入:
import lession3.*;
lession3other中的类只有POtherPackage 类可以访问其他包中的类!
l3.PSamePackage();
l3.DSamePackage();
l3.POtherPackage();
这些方法吗?
l3.PSamePackage();
l3.DSamePackage();
l3.POtherPackage();
有问题吧,lession3中哪有这几个方法?你是想测试访问权限的问题吧。
那你应该生成每一个类的对象,然后调用toString方法。
import lession3other.*;
package lession3;
public class lession3
{
public static void main(String args[])
{
lession3 l3=new lession3();
l3.PSamePackage();
l3.DSamePackage();
l3.POtherPackage();
}
}
这样为啥还不能编译成功?
package lession3;import lession3Other.POtherPackage;public class lession3 { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
PSamePackage psame=new PSamePackage();
psame.toString();
DSamePackage dsame = new DSamePackage();
dsame.toString();
POtherPackage pother = new POtherPackage();
pother.toString(); }}不同包的默认类不能访问所以DOtherPackage这个类不能定义
public String toString()
{
return "the same package the same class";
}
}
DSamePackage.javapackage lession3; class DSamePackage {
public String toString()
{
return "The same package the same class";
} }POtherPackage.javapackage lession3Other;public class POtherPackage {
public String toString()
{
return "different package public class";
} }DOtherPackage.javapackage lession3Other; class DOtherPackage {
public String toString()
{
return "different package default class";
} }照我写的代码试试
在DOS下该用什么命令编译?
只用编译javac lession3.java就行吗?
先用javac lession3.java
然后java lession3.java
就出结果了
先用javac lession3.java
然后java lession3.java
就出结果了
javac -d c:\ *.java
当前目录的所有的.java都被编译到c:目录下边。
而且就算编译出来第二个命令也是要用
java lession3 了...