当前位置: 技术问答>java相关
如何在一个类中调用另一个类?
来源: 互联网 发布时间:2015-08-30
本文导语: 类一: class Sphere { static final double PI=3.14; static int count = 0; double radius; double xCenter; double yCenter; double zCenter; Sphere (double theRadius,double x,double y,double z) { radius=theRadius; xCen...
类一:
class Sphere
{
static final double PI=3.14;
static int count = 0;
double radius;
double xCenter;
double yCenter;
double zCenter;
Sphere (double theRadius,double x,double y,double z)
{
radius=theRadius;
xCenter=x;
yCenter=y;
zCenter=z;
}
static int getCount()
{
return count;
}
double volume()
{
return 4.0/3.0*PI*radius*radius*radius;
}
}
类二:调用类一。
class Create
{ public static void main(String[] args)
{
System.out.println("Number of objects="+Sphere.getCount());
Sphere ball = new Sphere (4.0,0.0,0.0,0.0);
System.out.println("Number of objects="+Sphere.getCount());
Sphere globe =new Sphere(12,1.0,1.0,1.0);
System.out.println("Number of objects="+ Sphere.getCount());
System.out.println("ball volume="+ball.volume());
System.out.println(" globe volume="+globe.volume());
}
}
编译出现不能解析Sphere;
class Sphere
{
static final double PI=3.14;
static int count = 0;
double radius;
double xCenter;
double yCenter;
double zCenter;
Sphere (double theRadius,double x,double y,double z)
{
radius=theRadius;
xCenter=x;
yCenter=y;
zCenter=z;
}
static int getCount()
{
return count;
}
double volume()
{
return 4.0/3.0*PI*radius*radius*radius;
}
}
类二:调用类一。
class Create
{ public static void main(String[] args)
{
System.out.println("Number of objects="+Sphere.getCount());
Sphere ball = new Sphere (4.0,0.0,0.0,0.0);
System.out.println("Number of objects="+Sphere.getCount());
Sphere globe =new Sphere(12,1.0,1.0,1.0);
System.out.println("Number of objects="+ Sphere.getCount());
System.out.println("ball volume="+ball.volume());
System.out.println(" globe volume="+globe.volume());
}
}
编译出现不能解析Sphere;
|
编译的时候一起编译
javac Sphere.java Create.java
javac Sphere.java Create.java
|
之所以访问不到Sphere,是因为访问权限的问题:在类Greate中,我们试图访问类Sphere,但后者的权限是default,那就意味着只能在同一包中的类才能访问它。解决的方法有两个:一是声明Shpere为public ,二是把两个类放在同一
个目录中。你同意我的说法吗?
个目录中。你同意我的说法吗?
|
如果不存为一个文件,那么就把这个两个文件放在同一个目录下,就可以。
|
加到同一个package中,并放到与该package同名的目录下。
|
如果A要调用到B,要么一起编译,要么加个-classpath参数,提供所使用类的路径
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。