JAVA零基础学习课程个人笔记4——package和import

chapter03.10_package和import_day11_2
1、关于Java语言的包机制
(1)包又称为package,Java中引入package这种机制主要是为了方便程序的管理,
    不同功能的类被分门别类放到不同的软件包中,方便查找、管理、维护。
(2)如何定义package?
    在Java源程序第一行编写package语句。
    package只能编写一个语句
    语法结构:
        package 包名;
(3)包名的命名规范:
    公司的域名倒序 + 项目名 oa + 模块名 user + 功能名 service
    采用这种方式,重名的几率较低,因为公司域名具有全球唯一性
    eg:    com.bjpowernode.oa.user.service;
    org.apache.tomcat.core;
(4)包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则
(5)一个包将来对应的是一个目录
(6)使用了package机制之后,应该怎么编译呢?怎么运行呢?
    使用了package机制之后,类名不再是Test01了,而是com.bjpowernode.javase.day11.Test01
    编译:javac java源文件路径(在硬盘上生成一个class文件:Test01.class)
    手动创建目录,将Test01.class字节码文件放到指定的目录下
    运行:java com.bjpowernode.javase.day11.Test01

    另一种方式(编译+运行):
        编译:javac -d 编译之后存放路径 java源文件路径
            eg:javac -d C: F:\HellloWorld.java
                javac -d . *.java(将当前路径中*.java编译之后存放在当前目录下)
        运行:JVM的加载器ClassLoader默认从当前目录下加载,
            保证DOS命令窗口的路径先切换到com所在路径,执行:java com.bjpowernode.javase.day11.Test01
2、什么时候需要使用import?
(1)不是java.lang包下,并且不在同一个包下时,需要用import进行引入
    myeclipse导入类的快捷键:Ctrl + Shift + O

package com.bjpowernode.javase.day11;	//4个目录,目录之间使用 . 隔开

public class Test01
{
	public static void main(String[] args){
		System.out.println("Test01's main method execute!");
	}
}
package com.bjpowernode;

public class Test03
{
	public static void main(String[] args){
		//创建test01对象
		//以下代码编译错误,当省略包名后,会在当前包下找Test01,实际上是找com.bjpowernode.Test01(不存在)
		// Test01 tt = new Test01();
		// System.out.println(tt);

		//修改以上错误,包名不可省略,添加包名
		//结论:什么时候前面的包名可以省略? 本类(Test03)和创建对象的所属类(Test01)在同一包名下时
		com.bjpowernode.javase.day11.Test01 t = new com.bjpowernode.javase.day11.Test01();
		System.out.println(t);
	}
}
package org.apache;

/**
* import语句用来完成导入其他类,但同一包下类无需导入
* 不再同一包下需要手动导入
* import语法格式:
* 	import 类名;
* 	import 包名.*;
* import语句需要编写在package语句之下,class语句之上
*/
// import com.bjpowernode.javase.day11.Test01;
import com.bjpowernode.javase.day11.*;
import java.util.Date;
//或者:	import java.util.*;

public class Test04
{
	public static void main(String[] args){
		com.bjpowernode.javase.day11.Test01 t = new com.bjpowernode.javase.day11.Test01();
		System.out.println(t);

		com.bjpowernode.javase.day11.Test01 tt = new com.bjpowernode.javase.day11.Test01();
		System.out.println(tt);

		com.bjpowernode.javase.day11.Test01 ttt = new com.bjpowernode.javase.day11.Test01();
		System.out.println(ttt);

		//以上程序可以,但很麻烦
		//以下程序利用了import
		Test01 x = new Test01();
		System.out.println(x);	//com.bjpowernode.javase.day11.Test01

		Test01 y = new Test01();
		System.out.println(y);	//com.bjpowernode.javase.day11.Test01

		//java.lang.* 不需要手动导入,系统自动引入
		//lang:language语言包,是java语言的核心类,不需要手动引入
		String s = "abc";
		System.out.println(s);

		java.lang.String str = "def";
		System.out.println(str);

		//直接编写以下代码编译错误,因为Date类找不到
		Date d = new Date();
		System.out.println(d);

		java.util.Date date = new java.util.Date();
		System.out.println(date);

		//使用import语句之后:import java.util.Date;
		Date d1 = new Date();
		System.out.println(d1);
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值