【包及访问控制权限】_包的定义及导入笔记
来源:互联网 发布:数控铣床加工中心编程 编辑:程序博客网 时间:2024/06/06 12:34
【包及访问控制权限】_包的定义及导入笔记
分类: Java
本章目标:
了解多人开发的问题
掌握包的作用及定义
掌握包的导入语法及导入限制
了解系统常用包
掌握Java新特性——静态导入
掌握jar命令的使用
大型程序开发
如果有多个开发人员开发同一个项目的时候,则肯定会出现类名称相同的情况。那么这样一来就会比较麻烦。
相同的文件会出现覆盖的情况。
包的定义:
package 包名称.子包名称;
定义包之后,实际上类名称就是:包.类名称。
为程序打包编译:
javac -d . PackageDemo01.java
此时,生成完*.class之后,就可以直接访问了。
java org.lxh.demo08.PackageDemo01
直接打包编译多个java文件
javac -d . *.java
3.3包的导入
类一个包的class 文件需要使用另一个包的class 文件的时候就需要使用导入指令。\
import语句
语法:
import 包名称.子包名称.类名称; ->手工导入所需要的类
import 包名称.子包名称.*; ->由JVM自动加载所需要的类
Demo.java
编译的时候,应该先编译Demo.java类,之后再编译ImportDemo01.java,因为后者使用了前者的类进行操作。
关于public class 与 class 声明类的完整补充
如果一个类声明为public class 则文件名称必须与类名一致,而且在一个类中只能有一个public class ,而如果使用class声明一个类,则文件名称可以与类名称不一致,但是执行的时候必须执行生成的class文件名称。除了这些之外,public class和class还在包的访问上有所限制,如果一个类只在本包中访问,不需要被外包访问,则直接声明成class 即可,而如果一个类需要被外包访问,则必须声明为public class.
如果现在假设要导入一个包中的很多类,这样写肯定很麻烦。可以直接使用"*"的方式进行导入。
import org.lxh.demo08.a.Demo;
import org.lxh.demo08.a.*;
两者的性能都一样。
问题:当同时导入两个相同类名称的包时怎么处理?
3.4系统常见包
No 包名称 作用
1 java.lang 此包为基本的包,像String这样的类就保存在此包之中。
2 java.lang.reflect 此包为反射机制的包,java.lang的子包,在Java常用类库中会为读者介绍
3 java.util 此包为工具包,一些常用的类库、日期操作等等都在此类之中,如果把此包掌握精通各种设计思路都好清晰
4 java.text 提供文本处理类
5 java.sql 数据库操作类,提供了各种数据库操作的类和接口
6 java.net 完成网络编程
7 java.io 输入输出处理
8 java.awt 包含了构成抽象窗口的工具集(abstract window toolkits)多个类,这些类被用来构建和管理应用程序的图形化界面。
9 java.swing 此包用于构建图形用户界面,此包相对于java.awt来说是轻量级组建。
java.util.Arrays.sort()
当然,在这些包中,也会存在大量的子包。
3.5静态导入
导入格式:import static 包.类.*;
实例:
3.6。jar命令
将*.class 文件压缩成一个文件交给客户使用,那么这样的文件就称为jar文件。
JAR命令中的主要参数:
"C":创建新的文档
"V":生成详细的输入信息
"F":指定存在的文档名
将其打包编译:javac -d . Hello.java
将其打成jar包:jar -cvf my.jar org
使用jar包中的类,则必须配置classpath路径。
set classpath = .;d:\packdemo\my.jar
使用jar中的类
在实际的java开发中往往把一些实用的工具类打成jar包交给用户。
了解多人开发的问题
掌握包的作用及定义
掌握包的导入语法及导入限制
了解系统常用包
掌握Java新特性——静态导入
掌握jar命令的使用
大型程序开发
如果有多个开发人员开发同一个项目的时候,则肯定会出现类名称相同的情况。那么这样一来就会比较麻烦。
相同的文件会出现覆盖的情况。
包的定义:
package 包名称.子包名称;
- package org.lxh.demo08; //定义一个包
- class Demo{
- public String getInfo(){
- return "Hello World!!!";
- }
- }
- public class PackageDemo01{
- System.out.println(new Demo().getInfo());
- }
定义包之后,实际上类名称就是:包.类名称。
为程序打包编译:
javac -d . PackageDemo01.java
此时,生成完*.class之后,就可以直接访问了。
java org.lxh.demo08.PackageDemo01
直接打包编译多个java文件
javac -d . *.java
3.3包的导入
类一个包的class 文件需要使用另一个包的class 文件的时候就需要使用导入指令。\
import语句
语法:
import 包名称.子包名称.类名称; ->手工导入所需要的类
import 包名称.子包名称.*; ->由JVM自动加载所需要的类
Demo.java
- public org.lxh.demo08.a;
- public class Demo{
- public String getInfo(){
- return "Hello World!!!";
- }
- }
- package org.lxh.demo08.b; //放在不同的包中
- import org.lxh.demo08.a.Demo; //导入不同中的Demo类
- public class ImportDemo01{
- public static void main(String args[]){
- System.out.println(new Demo().getInfo());
- }
- }
编译的时候,应该先编译Demo.java类,之后再编译ImportDemo01.java,因为后者使用了前者的类进行操作。
关于public class 与 class 声明类的完整补充
如果一个类声明为public class 则文件名称必须与类名一致,而且在一个类中只能有一个public class ,而如果使用class声明一个类,则文件名称可以与类名称不一致,但是执行的时候必须执行生成的class文件名称。除了这些之外,public class和class还在包的访问上有所限制,如果一个类只在本包中访问,不需要被外包访问,则直接声明成class 即可,而如果一个类需要被外包访问,则必须声明为public class.
如果现在假设要导入一个包中的很多类,这样写肯定很麻烦。可以直接使用"*"的方式进行导入。
import org.lxh.demo08.a.Demo;
import org.lxh.demo08.a.*;
两者的性能都一样。
问题:当同时导入两个相同类名称的包时怎么处理?
- package org.lxh.demo08.d;
- import org.lxh.demo08.a.*;
- import org.lxh.demo08.c.*;
- public class ImportDemo02{
- public static void main(String args[]){
- org.lxh.demo08.a.Demo d = new org.lxh.demo08.a.Demo();
- System.out.println(d.getInfo());
- }
- }
3.4系统常见包
No 包名称 作用
1 java.lang 此包为基本的包,像String这样的类就保存在此包之中。
2 java.lang.reflect 此包为反射机制的包,java.lang的子包,在Java常用类库中会为读者介绍
3 java.util 此包为工具包,一些常用的类库、日期操作等等都在此类之中,如果把此包掌握精通各种设计思路都好清晰
4 java.text 提供文本处理类
5 java.sql 数据库操作类,提供了各种数据库操作的类和接口
6 java.net 完成网络编程
7 java.io 输入输出处理
8 java.awt 包含了构成抽象窗口的工具集(abstract window toolkits)多个类,这些类被用来构建和管理应用程序的图形化界面。
9 java.swing 此包用于构建图形用户界面,此包相对于java.awt来说是轻量级组建。
java.util.Arrays.sort()
当然,在这些包中,也会存在大量的子包。
3.5静态导入
导入格式:import static 包.类.*;
实例:
- package org.lxh.demo08.e;
- public class Operate{
- public static int add(int i,int j){
- return i+j;
- }
- public static int sub(int i,int j){
- return i-j;
- }
- public static int mul(int i,int j){
- return i*j;
- }
- public static int div(int i,int j){
- return i/j;
- }
- }
- package org.lxh.demo08.f;
- import static org.lxh.demo08.e.Operate.*; //静态导入
- public class StaticImportDemo{
- public static void main(String args[]){
- System.out.println("3+3="+add(3,3));
- System.out.println("3-3="+sub(3,3));
- System.out.println("3*3="+mul(3,3));
- System.out.println("3/3="+div(3,3));
- }
- }
3.6。jar命令
将*.class 文件压缩成一个文件交给客户使用,那么这样的文件就称为jar文件。
JAR命令中的主要参数:
"C":创建新的文档
"V":生成详细的输入信息
"F":指定存在的文档名
- package org.lxh.demo08.demo;
- public class Hello{
- public String getInfo(){
- return "Hello World!!!";
- }
- }
将其打包编译:javac -d . Hello.java
将其打成jar包:jar -cvf my.jar org
使用jar包中的类,则必须配置classpath路径。
set classpath = .;d:\packdemo\my.jar
使用jar中的类
- package org.lxh.demo08;
- import org.lxh.demo08.demo.Hello;
- public class ImportJarDemo{
- public static void main(String args[]){
- Hello hello = new Hello();
- System.out.println(hello.getInfo());
- }
- }
0 0
- 【包及访问控制权限】_包的定义及导入笔记
- 【包及访问控制权限】_包的定义及导入笔记
- Java包及访问控制权限--包的定义和导入---package
- java的包及访问控制权限
- 包及访问控制权限
- 包及访问控制权限
- 包及访问控制权限
- 包及访问控制权限
- 包及访问控制权限
- 8. 包及访问权限控制 --- 学习笔记
- 黑马程序员_包及访问权限
- 05---包及访问控制权限
- java 包及访问控制权限备忘
- JAVA中包及访问控制权限
- 4、Java 包及访问控制权限
- 包及访问权限
- java的若干问题(2)——异常捕获及处理、包及访问控制权限
- java包及访问权限
- 素数筛法
- 【多线程】_线程操作案例——生产者和消费者笔记
- 链表的扩展操作21——legend050709
- 完整 Android SDK 网盘下载
- 【多线程】_线程生命周期笔记
- 【包及访问控制权限】_包的定义及导入笔记
- SCN不一致的情况下如何开库(1)
- 【泛型】_泛型入门笔记
- php 二维数组传递给 js 问题解决记录
- 添加: IE浏览器右键 调用本地客户端
- 【泛型】_通配符笔记
- 【泛型】_泛型的其他应用笔记
- apache与tomcat整合入门至简版
- 〖泛型〗_实例讲解—泛型操作范例笔记