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、例子

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

结果图:

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、例子

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

结果图:

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

修改后,再双击的结果:

原创作者:DSHORE

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

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

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

java基础19 导包和“命令行”打jar包的更多相关文章

  1. Java命令行启动jar包更改默认端口以及配置文件的几种方式

    Java命令行启动jar包更改默认端口以及配置文件的几种方式 java -jar xxx.jar --server.port=8081 默认如果jar包没有启动文件,可以采用这种方式进行启动 java ...

  2. Java基础系列(30)- 命令行传参

    命令行传参 有时候你希望运行一个程序的时候再传递给它消息.这就要靠传递命令行参数main()函数实现 package method; public class CommandLine { public ...

  3. Linux java 命令行编译 jar包

    Java 命令行编译成class,然后在打包成jar文件. 编译成class javac -classpath $CLASS_PATH -d class ./src/Hello.java 可以通过ja ...

  4. Java环境变量配置以及作用、JDK与JRE区别以及命令行引入jar包

    在配置环境变量中: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAV ...

  5. linux下java命令行引用jar包

     一般情况下: 如果java 文件和jar 包在同一目录 poi-3.0-alpha3-20061212.jar testTwo.java 编译: javac -cp poi-3.0-alpha3-2 ...

  6. windows下命令行打jar包方法

     注意:系统必须装了java并且配置好了java环境变量. 事先必须编译好需要打jar的class.(eclipse一般在bin,maven构建的在target/classes) 进入cmd,输入ja ...

  7. 使用命令行生成jar包

    测试用类 public class Hello { public static void main(String[] args) { System.out.println("hello wo ...

  8. java命令行引入jar包

    编译: E:/>javac -cp e:/jdom.jar test1.java 执行: E:/>java -classpath e:/jdom.jar; test1

  9. 韩顺平细说Servlet视频系列意外收获之用命令行编译带有包的java类解决方案

    命令行编译带有包的java类 在命令行编译这一块,基本上都是新手入门时了解一下,然后就直奔IDE而去.这样固然没错,就怕那些--.然后今天在视频中看到了这种方法,觉得可能会用到,所以就记录下来了,以备 ...

随机推荐

  1. 【poj3375】 Network Connection

    http://poj.org/problem?id=3375 (题目链接) 题意 有$M$个网络接口和$N$台计算机,给出它们的坐标(在同一直线上),一个接口只能接一台计算机,费用为两坐标之差的绝对值 ...

  2. 《剑指offer》— JavaScript(20)包含min函数的栈

    包含min函数的栈 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 实现代码 var stack = []; function push(node) { stack. ...

  3. BTC钱包对接流程

    BTC钱包对接流程: 部署钱包节点 分析钱包的API 通过JSON-RPC访问钱包API 部署测试 1.部署钱包节点 虚拟币交易平台对接所有的虚拟币之前,都要在自己的服务器上部署一个钱包节点,首先要找 ...

  4. C++ explicit constructor/copy constructor note

    C++:explict 作用显示声明构造函数只能被显示调用从而阻止编译器的隐式转换,类似只能用()显示调用,而不能=或者隐式调用 #include <iostream> #include ...

  5. php static 变量用法

    有时候我们可能需要重复调用一个函数,里面有些变量不需要重复初始化.初始化成本比较高的,我们可以使用 static 关键字修饰,在该变量没有初始化的时候才进行初始化,初始化过的变量就不再初始化.如: f ...

  6. Chapter7(类) --C++Prime笔记

    类(关键词):数据抽象(数据成员和函数成员),封装(private),构造函数,静态成员 1.判断一个类是否是抽象数据类型,可以看我们对这个类的操作是对你内的数据成员操作,自己编写相应的处理函数,还是 ...

  7. Leetcode 503. 下一个更大元素 II

    1.题目描述 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应 ...

  8. vue组件间的通信

    组件的定义: 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能.v ...

  9. SVN启停脚本

    说明:特别注意红色部分,外部$1传入Msg函数时失效,故特此读取一遍再传入!执行时要给脚本加执行权限!#chmod 755 /scripts/svn [root@kazihuo /scripts]# ...

  10. Lucene之Java实战

    1.导包 2.索引的创建 2.1首先,我们需要定义一个词法分析器. Analyzer analyzer = new IKAnalyzer();//官方推荐 Analyzer analyzer = ne ...