zoukankan      html  css  js  c++  java
  • java基础19 导包和“命令行”打jar包

    1、导包

    1.1、包

        java中的包就相当于Windows文件夹
            编译格式:javac -d . 类名.java

    1.2、包的作用

        1.解决了类名重复冲突的问题
        2.便于软件版本的发布

    1.3、包语句要注意的事项

        1.package语句必须位于java文件的第一个语句
        2.如果一个类加上了包语句,那么该类的完整类名就是:包名.类名
        3.一个java文件只能有一个包语句

    1.4导包语句作用

        简化了书写

    1.5导包的格式

        import 包名.类名;(导入xxx包中某个类)

    1.6、导包语句需要注意的细节

        1.一个java文件可以出现多个导包语句
        2.“*”是 打包语句的通配符.可以匹配任何类名
           
       java.lang包是默认已经导入了,不需要你手动导包用导

    1.7、例子

     1 package bb;
     2 public class Student{
     3     String name;
     4     public Student(String name){
     5         this.name = name;
     6     } 
     7     public void run(){
     8         System.out.println(name+"天天跑步");
     9     }
    10 }
    1 package cc;
    2 public class Student2{
    3     public void eat() {
    4         System.out.println("xxx在吃饭");
    5     }
    6 }
     1 import bb.Student; //导入bb包下的Student类
     2 import cc.Student2; //导入cc包下的Student2类
     3 class Test{
     4     public static void main(String[] args) {
     5         Student s = new Student("二狗子");
     6         s.run();
     7         Student2 s2 = new Student2();
     8         s2.eat();
     9     }
    10 }

    结果图:

    2、静态导入

        静态导入:jdk1.5新特性

    2.1、静态导入的作用

        1、简化代码
        2、静态导入可以作用一个类的所有成员

    2.2、静态导入的格式

        import static 包名.类名.静态的成员

    //import static java.包名.类名.静态的成员
    import
    static java.util.Collections.sort; import static java.util.Collections.max;

    2.3、静态导入需要注意的事项

        如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的成员,如果需要指定使用静态成员,那么需要在静态成员前面加上类名

    3、打jar包

    3.1、打jar包

      需要使用到jdk开发工具(jar.exe)

    3.2、使用格式

        jar cvf jar文件名.jar class文件或者文件夹

    3.3、jar文件的作用

        1.方便用户快速启动一个项目
        2.提供工具类似于jar包的形式给别人使用

    3.4、打jar包要注意的事项

        1.一个程序打完jar之后 必须要在我们的清单文件指定类的入口:格式:Main-Class: 包名.类名
        2.jar包双击只对图形化界面起作用,对控制台程序不起作用.

    如果使用jar包里面的类名必须要先设置classpath
        jre=jvm+核心类库

    3.5、例子

     1 package qq;
     2 import javax.swing.*;
     3 class Demo18 {
     4     public static void main(String[] args) {
     5         JFrame frame=new JFrame("QQ程序");
     6             frame.setSize(400,500);//设置宽高
     7             frame.setVisible(true);//设置窗体可见.
     8             frame. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     9     }
    10 }

    结果图:

    到这步时,双击QQ.jar是没有反应的,需要修改QQ.jar文件,指定程序入口

    修改后,再双击的结果:

     

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:http://www.cnblogs.com/dshore123/p/8950602.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    Java包(package)详解
    linux下c++sleep函数
    c++ 一个cpp文件如何调用另一个cpp文件已经定义的类?我不想重复定义
    c++ 断言
    C++类指针初始化
    面向对象编程
    CentOS 下通过命令登录Mysql
    (总结)CentOS Linux使用crontab运行定时任务详解
    【工具】Homebrew的安装及使用
    c++
  • 原文地址:https://www.cnblogs.com/dshore123/p/8950602.html
Copyright © 2011-2022 走看看