您的位置:首页 > 编程语言 > Java开发

关于public定义方法和类的作用,以及包和import语句

2015-10-26 22:21 435 查看
1、首先了解一下,public static void main(string[] args),这是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.只有有main()方法的java程序才能够被java虚拟机欲行,可理解为规定的格式
对于里面的参数及修饰符
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盘根目录下)

        第二,以上命令行中的“.;”,也就是”点 分号“,表示的是加载应用程序的无名包类,也就是在主类目录下的类。那么也就说明,如果你不想修改环境变量,你可以在主类下建立和包相对应的子目录结构。

        在初学时期,一般不需要修改环境变量,即采用第二种方式来调用包。

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java