java调用包问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 01:15:21
程序包提供在包级别上的封装和访问控制。现给出以下三个java程序:
⑴ X1.java(放在当前路径的pack1目录中)
⑵ X2.java(放在当前路径的pack2目录中)
⑶ Practice.java(放在当前路径)
分析这三个程序,直接在有错误的成员变量或方法的定义后面加注释标明,并调试运行
注:运行practice.java的正确结果是“输出结果是12=12”

//X1.java
package pack1;
public class X1
{
public int x;
public void setX(int i)
{ x=i; }
public int getX()
{ return x; }
}

//X2.java
package pack2;
import pack1.X1;
public class X2
{
protected int i,j;
public X2(int i,int j)
{
this.i=i;
this.j=j;
}

public void show()
{
X1 h=new X1();
h.setX(12);
i=h.getX();
j=h.x;
System.out.println("输出结果是"+i+"="+j);
}
}

//Practice.java
import pack1.X1;
import pack2.X2;
class Practice
{
public static void main(String args[])
{
X2 g=new X2(5,10);
g.show();
}
}

//X2.java
package pack2;
import pack1.X1; //这里引入包
public class X2
{
protected int i,j;
public X2(int i,int j)
{
this.i=i;
this.j=j;
}

public void show()
{
X1 h=new X1();
h.setX(12);
i=h.getX();
j=h.x;
System.out.println("输出结果是"+i+"="+j);
}
}

//Practice.java
import pack1.X1; //重复使用该包里的对象
import pack2.X2;
class Practice
{
public static void main(String args[])
{
X2 g=new X2(5,10);
g.show();
}
}

public 来者不拒,
proteced 子类能访问,
没有修饰符时,同一包内其它类能访问
private 给钱也不让访问。

以上足以说明了

无语...如果是学定义一个package 不用绕这么大的弯