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、例子
- 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包的更多相关文章
- Java命令行启动jar包更改默认端口以及配置文件的几种方式
Java命令行启动jar包更改默认端口以及配置文件的几种方式 java -jar xxx.jar --server.port=8081 默认如果jar包没有启动文件,可以采用这种方式进行启动 java ...
- Java基础系列(30)- 命令行传参
命令行传参 有时候你希望运行一个程序的时候再传递给它消息.这就要靠传递命令行参数main()函数实现 package method; public class CommandLine { public ...
- Linux java 命令行编译 jar包
Java 命令行编译成class,然后在打包成jar文件. 编译成class javac -classpath $CLASS_PATH -d class ./src/Hello.java 可以通过ja ...
- Java环境变量配置以及作用、JDK与JRE区别以及命令行引入jar包
在配置环境变量中: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAV ...
- linux下java命令行引用jar包
一般情况下: 如果java 文件和jar 包在同一目录 poi-3.0-alpha3-20061212.jar testTwo.java 编译: javac -cp poi-3.0-alpha3-2 ...
- windows下命令行打jar包方法
注意:系统必须装了java并且配置好了java环境变量. 事先必须编译好需要打jar的class.(eclipse一般在bin,maven构建的在target/classes) 进入cmd,输入ja ...
- 使用命令行生成jar包
测试用类 public class Hello { public static void main(String[] args) { System.out.println("hello wo ...
- java命令行引入jar包
编译: E:/>javac -cp e:/jdom.jar test1.java 执行: E:/>java -classpath e:/jdom.jar; test1
- 韩顺平细说Servlet视频系列意外收获之用命令行编译带有包的java类解决方案
命令行编译带有包的java类 在命令行编译这一块,基本上都是新手入门时了解一下,然后就直奔IDE而去.这样固然没错,就怕那些--.然后今天在视频中看到了这种方法,觉得可能会用到,所以就记录下来了,以备 ...
随机推荐
- GreatSct -应用程序白名单bypass工具
0x00 GreatSCT简介 GreatSCT目前得到了@ConsciousHacker的支持,该项目名为Great SCT(Great Scott).Great SCT是一个用于生成应用程序白 ...
- cgroup限制内存
cgroup有个memory子系统,有两组对应的文件,一组带 memsw ,另一组不带. # docker ps -a # cd /sys/fs/cgroup/memory/docker/4b5619 ...
- Android中EditText显示明文与密码的两种方式
效果图如下所述: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...
- C#线程篇---你所不知道的线程池(4)
线程的创建和销毁都要耗费大量的时间,有什么更好的办法?用线程池! 太多的线程浪费内存资源,有什么更好的办法?用线程池! 太多线程有损性能,有什么更好的办法?用线程池!(⊙_⊙)? 线程池是什么?继前三 ...
- 「转」图像算法---白平衡AWB
本文大体讲解了白平衡的算法流程,适用于想了解和学习白平衡原理的筒子们. 一般情况下要实现AWB算法需要专业的图像和算法基础,本文力图通过多图的方式,深入浅出,降低初学者理解上的门槛,让大家都理解到白平 ...
- fcntl文件锁操作
文件锁经常应用于两个方面:1.一是锁定文件中的临界数据,比如并发投票时文件记录的投票数2.二是利用具有互斥性质的写锁,实现进程的并发控制. /*使用文件锁*/<F5>#include &l ...
- python基础之生成器迭代器
1 生成器: 为什么要有生成器? 就拿列表来说吧,假如我们要创建一个list,这个list要求格式为:[1,4,9,16,25,36……]这么一直持续下去,直到有了一万个元素的时候为止.如果我们要创建 ...
- GO_08:GO语言基础之interface
接口interface 1. 接口是一个或多个方法签名的集合 2. 只要某个类型拥有该接口的所有方法签名,即算实现该接口,无需显示声明实现了哪个接口,这称为 Structural typing 3. ...
- python中的常用模块(2)
在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件), 经常要对大量文件和大量路径进行操作,这就依赖于os模块. 1.当前路径及路径 ...
- numpy二进制转换和范围缩放
numpy二进制转换和范围缩放 觉得有用的话,欢迎一起讨论相互学习~Follow Me 一维二进制转换 import numpy as np # 一维二进制数组转换 a=np.array([0,1,1 ...