/* 先编译好A.java和B.java
然后把com和zhangsan两个文件夹放入同一个文件夹中,假设文件夹名字为1
然后进行编译:jar cvf T.jar *1
jar表示要打包成一个jar包,cvf表示里面的参数,T.jar是打包成java包的名字,*表示把当前目录下所有的东西打包成jar包
编译时的路径必须是1文件夹当前的路径
*/
package zhangsan.lisi;
public class A
{
public void g()
{
System.out.printf("GGGG\n");
}
protected void b()
{
System.out.printf("BBBB\n");
}
}
++++++++
package com.ruide;
import zhangsan.lisi.*;
class B extends A
{
public void f()
{
g();//ok
b();//ok, 在子类内部可以访问从另一个包继承过来的父类的public和protected成员
}
}
class M
{
public static void main(String[] args)
{
B bb = new B();
//bb.f();//ok
//bb.g();//ok
//bb.b();//错误。要改为public
}
}
------------------------------------------------------------------
/*如何使用jar包
首先把zhangsan文件夹import,
然后直接编译javac Test.java,如果错误,提示找不到zhangsan文件夹的话,编译时它只会在你编译的当前目录寻找。如果找不到的话则必须设置classpath
系统在当前目录找不到所需的内容时就会在classpath再次寻找
假设T.jar在d盘666文件夹下。
则编译前先进行这样设置 set classpath=D:\666\T.jar;注意等号左右两边不可以加空格
*/
import zhangsan.lisi.A;
public class Test
{
public static void main(String[] args)
{
A aa = new A();
aa.g();
}
}