`
strawberry2013
  • 浏览: 18097 次
文章分类
社区版块
存档分类
最新评论

黑马程序员_面向对象_package和import使用注意

 
阅读更多

-------android培训java培训、期待与您交流! ----------

/*
A.java存放位置:../DIR/my/path
Strawberry2013-5-11
*/
public class A
{
	public void show()
	{
		System.out.println("AAAAAAAA");
	}

}

//Demo.java存放位置:../DIR
class Demo
{
	public static void main(String[] args)
	{
		A a = new A();
		a.show();
	}
}


设当前目录为DIR,导入包名为my.path

package打包存放位置,import则导入类,使类加载至内存中的方法区,import static静态导入的都是该类下的所有静态成员

1).当A类与Demo存放在同一级目录中,可以不用导入,直接能够将Demo加载至主存中的方法区!
2).不在同一级目录中,要么import,要么加包名my.path.A


1.package,
打包存放

package就是打包,在执行javac时,将会产生一个A.class文件,该class文件记录有package的包名信息
1).如果在编译的时候,没有指定编译目录,则默认将class文件存储于当前目录即DIR;
2).如果指定了目录DIR,则class文件存储于A目录下的my.path目录中,即DIR.my.path,如javac -d . A.java

2.import,加载至内存

1).A.java存储于my.path目录下,在编译Demo.java时,由于import了my.path文件目录,所以会自动编译A.java,前提DIR不存在同名的A.java和A.class文件,就会自动编译
2).A.class存储于my.path目录下,在编译Demo.java时,由于import了my.path文件目录,可以直接使用!注意:由于A.class文件包含有包名,将该文件移动至新文件夹中,如果该文件夹的目录与包名信息不匹配,则即使导入正确,也无法使用!

3.import static,导入所有静态成员

可参阅,java方法的可变参数和静态导入import static

java -verbose Demo.java
使用verbose选项,可以了解编译和执行过程中JVM所做的每件事情!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics