不行呀
源程序如下:
package p1;
public class protection
{
int n=1;
private int n_pri=2;
protected int n_pro=3;
public int n_pub=4;
public protection()
{
System.out.println("base constructor");
System.out.println("n=" + n);
System.out.println("n_pri=" + n_pri);
System.out.println("n_pro=" + n_pro);
System.out.println("n_pub=" + n_pub);
}
}package p1;
class derived extends protection
{
derived()
{
System.out.println("derived constructor");
System.out.println("n=" + n);
//class only
//System.out.println("n_pri=" + n_pri);
System.out.println("n_pro=" + n_pro);
System.out.println("n_pub=" + n_pub);
}
}package p1;
class samepackage
{
samepackage()
{
protection p=new protection();
System.out.println("same package constructor");
System.out.println("n=" + p.n);
//class only
//System.out.println("n_pri=" + p.n_pri);
System.out.println("n_pro=" + p.n_pro);
System.out.println("n_pub=" + p.n_pub);
}
}package p2;
class protection2 extends p1.protection
{
protection2()
{
System.out.println("derived other package constructor");
//class or package only
//System.out.println("n=" + n);
//class only
//System.out.println("n_pri=" + n_pri);
System.out.println("n_pro=" + n_pro);
System.out.println("n_pub=" + n_pub);
}}package p2;
class otherpackage
{
otherpackage()
{
p1.protection p=new p1.protection();
System.out.println("ohter package constructor");
//class or package only
//System.out.println("n=" + p.n);
//class only
//System.out.println("n_pri=" + p.n_pri);
//class or package or subclass only
//System.out.println("n_pro=" + p.n_pro);
System.out.println("n_pub=" + p.n_pub);
           }
}package p2;
public class demo
{
public static void main(String[] args) 
{
protection2 ob1=new protection2();
otherpackage ob2=new otherpackage();
}

     
}package p1;
public class demo
{
public static void main(String args[])
{
protection ob1=new protection();
derived ob2=new derived();
samepackage ob3=new samepackage();
}}