zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    Java内存模型
    Thread.sleep(0)的作用
    Java中用到的线程调度算法是什么
    怎么检测一个线程是否持有对象监视器
    为什么要使用线程池
    ThreadLocal
    生产者消费者模型的作用
    线程间通信
    线程安全
    c#常日期转换(转)
  • 原文地址:https://www.cnblogs.com/xlwu/p/13121434.html
Copyright © 2011-2022 走看看