对于里面的参数及修饰符
public:表示的这个程序的访问权限,表示的是任何的场合可以被引用,这样java虚拟机就可以找到main()方法,从而来运行javac程序
static:表明方法是静态的,不依赖类的对象的,是属于类的,在类加载的时候main()方法也随着加载到内存中去
void:main()方法是不需要返回值的
main:约定俗成,规定的
String[] args:从控制台接收参数
2、包
首先定义了一个类,Student
package liushuo.surena;
public class Student //
{
int number;
Student(int n){
number=n;
}
void speak(){
System.out.println("Student类的包名是liushuo.20151026,我的学号是"+number);
}
}
再定义主类
package liushuo.surena;
public class p88
{
public static void main(String[] args)
{
Student stu=new Student(10201);
stu.speak();
System.out.println("主类的包名也为liushuo.20151026");
System.out.println("Hello World!");
}
}
两个类都声明了包,且位置一样,但是调用的时候
D:\liushuo\surena>javac *.java
D:\liushuo\surena>cd..
D:\liushuo>cd,,
D:\>java liushuo.surena.p88 //最后调用的时候,跑到了上两级目录,因为声明了包名,是有包名的主类,就相当于一层一层的找到这个主类的位置。
3、import语句的使用
主要的作用就是解决,一个类想要使用的那个类,却不在一个包里面的问题。
(1)比如我们来定义一个类,这个类表示一个三角形,实现三种方法。
package liushuo.surena; //这个地方只需要包的地址就行了
public class Triangle
{
double sideA,sideB,sideC;
boolean isTriangle;
public Triangle(double a,double b,double c){ //第一个方法,根据输入的三边参数判断该三边是否能构成三角形
sideA=a;
sideB=b;
sideC=c;
if (a+b>c&&a+c>b&&b+c>a)
{
isTriangle=true;
}
else{
isTriangle=false;
}
}
public void 计算面积(){ //第二个方法,如果是三角形,计算三角形的面积
if (isTriangle)
{
double p=(sideA+sideB+sideC)/2.0;
double area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
System.out.println("该三角形的面积为"+area);
}
else{
System.out.println("不是一个三角形,不能计算面积");
}
}
public void 修改三边(double a,double b,double c){ //第三个方法,重新设定三边
sideA=a;
sideB=b;
sideC=c;
if (a+b>c&&a+c>b&&b+c>a)
{
isTriangle=true;
}
else{
isTriangle=false;
}
}
}
(2)再定义一个主类,这个类用来import三角形这个类,使用这个类。
import liushuo.surena.Triangle; //导入并使用定义好的类
public class p92 //定义新类
{
public static void main(String[] args)
{
Triangle tri=new Triangle(3,4,5);
tri.计算面积();
tri.修改三边(7,8,9);
tri.计算面积();
}
}
(3)定义好了,主类如何调用呢,第一,如果想实现随意调用,即主类不管在什么路径,都可以调用Triangle这个类的话,就只能修改环境标量,加入类的路径。
如在命令行里卖弄执行以下命令,set classpath =c\jdk1.6\jre\bin\re,jar;,;d:(即我的包位于d盘根目录下)
第二,以上命令行中的“.;”,也就是”点 分号“,表示的是加载应用程序的无名包类,也就是在主类目录下的类。那么也就说明,如果你不想修改环境变量,你可以在主类下建立和包相对应的子目录结构。
在初学时期,一般不需要修改环境变量,即采用第二种方式来调用包。