Java 类包(package)
当我们开发项⽬的时候,会⽤到很多的类文件,这样就不⽅便管理
我们可以通过包对类进⾏管理分类,也可以避免重名的问题,⼀种类型的java类放在⼀个包⾥⾯,或者⼀个模块的java类放在⼀个包⾥⾯,不同包⾥⾯可以包含同名的类,通过包类区分。
定义类包(package)
package 类包分类路径;
public class packageDemo{
public static void main(String[] args){
System.out.println("こんにちは!");
}
}
package 需要写在class的最前面。用来创建类包
例如
package packageFile.classFile;
import java.util.Scanner; //方法1 使用import引入类 后在程序中直接调用
public class javaDemo{
public static void main(String[] args){
//java.util.Scanner scan = new java.util.Scanner(System.in); //方法2 直接使用源文件地址进行构造 仅使用一次时可使用
Scanner scan = new Scanner(System.in);
String str = scan.next();
System.out.println(str);
}
}
在cmd中编译时,也要改变命令编码方式
编译时:
d:\Cosd> javac -d . javaDemo.java
这里要注意,-d后的 . (点)两侧必须要有一个空格,编译成功后,在j该ava文件的文件夹中会生成相应文件夹。class文件一并存放在该文件中。
执行时也要改变相应命令编码方式
执行时:
d:\Cosd> java packageFile.classFile.javaDemo
执行结果如下;
程序引用类,调用执行
使用①import或者②直接带地址使用
例如下述的Scanner类的调用
package packageFile.classFile;
import java.util.Scanner; //方法1 使用import引入类 后在程序中直接调用
public class javaDemo{
public static void main(String[] args){
//java.util.Scanner scan = new java.util.Scanner(System.in); //方法2 直接使用源文件地址进行构造 仅使用一次时可使用
Scanner scan = new Scanner(System.in);
String str = scan.next();
System.out.println(str);
}
}
例如上代码中的Scanner类
自建类包后自己调用如下:
实例:
在同一个文件夹下创建另外一个类,ExtendsDemo2.java,并用package将它的类文件进行整理
部分代码如下
package com.Demo.classFile;
public class ExtendsDemo2{
public static void main(String[] args){
Student s1 = new Student("三上悠亚",18,'女',"小奶猫班");
System.out.println(s1.getName());
s1.eat();
s1.sleep();
s1.learn();
}
}
......
创建好类包后在javaDemo类中进行调用
代码如下:
package packageFile.classFile;
import com.Demo.classFile.ExtendsDemo2;//引用其他创建好的类
import java.util.Scanner; //方法1 使用import引入类 后在程序中直接调用
public class javaDemo{
public static void main(String[] args){
//java.util.Scanner scan = new java.util.Scanner(System.in); //方法2 直接使用源文件地址进行构造 仅使用一次时可使用
Scanner scan = new Scanner(System.in);
String str = scan.next();
System.out.println(str);
ExtendsDemo2 e = new ExtendsDemo2();
e.main(null);
}
}
输出结果如下: