面向对象编程之包(package)
目录
一、 声明
二、 常用三条命令语句
三、 jdk 提供的 工具包
四、 类与类的关系:存在使用别的类权限
五、静态导入
1. 声明: package 域名+功能名|模块名 ;
源代码的非注释型首行 (第一行)
2. 完整路径|名称: 包名.类名 com.zad.my_package.HelloWorld
-d <目录> 指定放置生成的类文件的位置。
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
编译:javac -d . 源代码
javac -d .|指定路径 源代码
javac -d .|指定路径 -cp 依赖类路径 源代码
运行:java 完整路径
java -cp 类路径 类完整名称
HelloWorld类
package com.zad.my_package;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("霾头苦干,自强不吸。");
char a = 'p';
// 关联其他类 (前提是 此类可用)
System.out.println(com.zad.my_package.A.isLower(a));
// 麻烦,可读性不强
System.out.println(com.zad.my_package.A.isLower(a));
}
}
A类
package com.zad.my_package;
public class A {
/**
* 判断单个字符是否为小写字母
*/
public static boolean isLower(char ch) {
return ch >= 'a' && ch <= 'z';
}
}
三、 jdk 提供的 工具包
1、java.lang.*: 语言包
2、java.util.*:工具包
3、java.sql.*: jdbc包
4、java.io.*: 输入输出流
5、java.awt.*:界面
6、java.net.*:网络
四、 类与类的关系:存在使用别的类权限
1、完整路径: 包名.类名
2、import :定位,解决重复使用 导入类
1)、位置:包声明后,在类声明前
2)、不需要导入包的类
1)、语言: java.lang.*
2)、在同包下
*: 通配符,表示可能使用多个类 , java.util.* --> 编译时会依此导入已经使用类,只会降低编译速度,不会影响运行速度
五、静态导入
导入静态的 信息 (属性、方法)
import static 类.静态信息|*; -->忽略类名
import -->忽略包名
util类
package com.zad.util;
public class Util {
public static int a = 20;
/**
* 判断单个字符是否为小写字母
*/
public static boolean isLower(char ch) {
return ch >= 'a' && ch <= 'z';
}
}
D类
package com.zad.my_package;
/**
* 静态导入: 导入其他类的静态信息(属性|方法)
*/
import com.zad.util.*; //导入类 忽略包名
import static com.zad.util.Util.*;//导入静态信息 忽略类名
public class D {
public static void main(java.lang.String[] args) {
System.out.println(isLower('p'));
}
}