package和import的用法

1 package 和 import
 
    2.1 package
        第一:package出现在java源文件第一行。
        第二:带有包名怎么编译? javac -d . xxx.java
        第三:怎么运行:java完整类名
    
    2.2 import
        import什么时候不需要?
            java.lang不需要。
            同包下不需要。
            其他一律都需要
        怎么用?
            import 完整类名
            import 包名.*
 
 
案例1:为什么要用package?和用cmd命令时该如何去编译和运行这个包下类的命令(注意观察包的路径)
/*
* 1 为什么要是用package?
*   package是java包机制。包机制的作用是为了方便程序管理。
*   不同功能的类分别存放在不同的包下。(按照功能划分的,不同的软件包具有不同的功能)
*
* 2 package怎么用?
*   package是一个关键字,后面加包名。例如:
*   package com.javaSe.interface
*   注意:package语句只允许出现在java源代码的第一行
*
* 3 包名有没有命名规范?有
*   一般都采用公司域名倒序的方式(因为公司的域名具有全球唯一性)
*   包名命名规范:
*       公司域名倒序 + 项目名 + 模块名 + 功能名
*
* 4 对于带有package的java程序怎么编译?怎么运行?
*   采用之前的编译和运行不行了
*   类名不再是:HelloWorld了
*   类名是:com.javaSe.package.HelloWorld
*   编译:
*       javac -d . HelloWorld.java
*       解释一下:
*           javac 负责编译的命令
*           -d  带包编译
*           .   代表编译之后生成的东西放到当前目录下(点代表当前目录)
*           HelloWorld.java 被编译的java文件名
*   运行:
*       java com.javaSe.package.HelloWorld
*
* 5 关于import的使用。
*   import什么时候用:
*       A类中使用B类
*       A类和B类都在同一个包下。不需要使用import
*       A类和B类不在同一个包下。需要使用import
*       java.lang.*;这个包下的类不需要使用import导入。
*
*   import怎么用?
*       import语句只能出现在package语句之下,class声明之上。
*       import可以使用*号的方式。
* */
// 这里是不是程序的第一行?是的,注释不算
package com.javaSe.packege;


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

 

 

测试1:注意看包的路径

package com.javaSe.packege;


public class Test01 {
    public static void main(String[] args) {
        //创建HelloWorld对象
        com.javaSe.packege.HelloWorld helloWorld = new HelloWorld();
        System.out.println(helloWorld);//com.javaSe.packege.HelloWorld@10f87f48


        // 包名可以省略吗?
        // 思考:这里的包名之所以可以省略,是因为HelloWorld和Test01在同一个package下。
        HelloWorld helloWorld1 = new HelloWorld();
        System.out.println(helloWorld1);//com.javaSe.packege.HelloWorld@b4c966a
    }
}

 

 

测试2:注意看包的路径
package com;


// 将需要的类导入。
//import com.javaSe.packege.HelloWorld;
import com.javaSe.packege.*;


public class Test02 {
    public static void main(String[] args) {
        /*
        * Error:(4, 9) java: 找不到符号
          符号:   类 HelloWorld
          位置: 类 com.Test02
        * */
        //HelloWorld helloWorld = new HelloWorld();


        /*com.javaSe.packege.HelloWorld helloWorld = new com.javaSe.packege.HelloWorld();
        System.out.println(helloWorld);// com.javaSe.packege.HelloWorld@10f87f48*/


        //注意看我上面的import,只有我把
        HelloWorld helloWorld = new HelloWorld();
        System.out.println(helloWorld);//com.javaSe.packege.HelloWorld@10f87f48
    }
}

 

 

测试3:Scanner该如何导包以及导包该有的方式

package com.javaSe.packege;


// 你写哪种都可以
//import java.util.Scanner;
import java.util.*;


public class Test03 {
    public static void main(String[] args) {
        // 为什么要这样写?
        // Test03类和Scanner类不在同一个包下。
        // java.util就是Scanner类的包名。
        // java.util.Scanner s = new java.util.Scanner(System.in);


        // 但是你把Scanner的包导入到你的这个类中的话,那么你用可以不用再写他的包名了。
        Scanner s = new Scanner(System.in);
        String str = s.next();
        System.out.println("您输入的字符串是:" + str);


        java.lang.String name = "zhangSan";
        System.out.println("名字是:" + name);


        String userName = "liSi";
        System.out.println("用户名是:" + userName);
    }
}
posted @ 2020-06-13 19:12  xlwu丶lz  阅读(992)  评论(0编辑  收藏  举报