刚学java,抄了一个程序在 jdk1.4.2环境编译,结果出现4处错误,怎么回事?import java.applet.Applet;
import java.awt.*;public class AccessControl extends Applet
{
ClassBeAccessed c=new ClassBeAssessed(); //提示出错:cannot resolve symbol
subClass sc=new subClass();
PackageClass ic=new PackageClass(); public void paint(Graphics g)
{
g.drawString("Self Accessible: ",10,20);
g.drawString(c.toString(),20,35);
g.drawString("Sub Accessible: ",10,55);
g.drawString(sc.AccessDirectly(),20,70);
g.drawString("Package Accessible: ",10,90);
g.drawString(ic.AccessDirectly(),20,105);
g.drawString("Access using public method: ",10,125);
g.drawString(sc.AccessCls(),20,140);
g.drawString(ic.AccessCls(),20,155);
}
}public class ClassBeAccessed //提示出错:class ClassBeAccessed is public, should be declared in a file named ClassBeAccessed
{
public String m_PublicProperty;
String m_FriendlyProperty;
private protected String m_PrivateProtectedProperty; //提示出错:illegal combination of modifiers
private String m_PrivateProperty; ClassBeAccessed()
{
m_PublicProperty=new String("Public");
m_FriendlyProperty=new String("Friendly");
m_PrivateProtectedProperty=new String("Private Protected");
m_PrivateProperty=new String("Private");
} public String toString()
{
return(m_PublicProperty+";"+m_FriendlyProperty+";"+m_PrivateProtectedProperty+";"+m_PrivateProperty+";");
}
}class subClass extends ClassBeAccessed
{
ClassBeAccessed c=new ClassBeAccessed(); String AccessDirectly()
{
//提示出错:m_PrivateProperty has private access in ClassBeAccessed
return(c.m_PublicProperty+";"+c.m_FriendlyProperty+";"+c.m_PrivateProtectedProperty+";"+c.m_PrivateProperty+";");
} String AccessCls()
{
return(c.toString());
}
}class PackageClass
{
ClassBeAccessed c=new ClassBeAccessed(); String AccessDirectly()
{
return(c.m_PublicProperty+";"+c.m_FriendlyProperty);
} String AccessCls()
{
return(c.toString());
}
}
import java.awt.*;public class AccessControl extends Applet
{
ClassBeAccessed c=new ClassBeAssessed(); //提示出错:cannot resolve symbol
subClass sc=new subClass();
PackageClass ic=new PackageClass(); public void paint(Graphics g)
{
g.drawString("Self Accessible: ",10,20);
g.drawString(c.toString(),20,35);
g.drawString("Sub Accessible: ",10,55);
g.drawString(sc.AccessDirectly(),20,70);
g.drawString("Package Accessible: ",10,90);
g.drawString(ic.AccessDirectly(),20,105);
g.drawString("Access using public method: ",10,125);
g.drawString(sc.AccessCls(),20,140);
g.drawString(ic.AccessCls(),20,155);
}
}public class ClassBeAccessed //提示出错:class ClassBeAccessed is public, should be declared in a file named ClassBeAccessed
{
public String m_PublicProperty;
String m_FriendlyProperty;
private protected String m_PrivateProtectedProperty; //提示出错:illegal combination of modifiers
private String m_PrivateProperty; ClassBeAccessed()
{
m_PublicProperty=new String("Public");
m_FriendlyProperty=new String("Friendly");
m_PrivateProtectedProperty=new String("Private Protected");
m_PrivateProperty=new String("Private");
} public String toString()
{
return(m_PublicProperty+";"+m_FriendlyProperty+";"+m_PrivateProtectedProperty+";"+m_PrivateProperty+";");
}
}class subClass extends ClassBeAccessed
{
ClassBeAccessed c=new ClassBeAccessed(); String AccessDirectly()
{
//提示出错:m_PrivateProperty has private access in ClassBeAccessed
return(c.m_PublicProperty+";"+c.m_FriendlyProperty+";"+c.m_PrivateProtectedProperty+";"+c.m_PrivateProperty+";");
} String AccessCls()
{
return(c.toString());
}
}class PackageClass
{
ClassBeAccessed c=new ClassBeAccessed(); String AccessDirectly()
{
return(c.m_PublicProperty+";"+c.m_FriendlyProperty);
} String AccessCls()
{
return(c.toString());
}
}
类名和构造方法名不一致,当然要出错了!
像这样的书,我劝你今后少看!
是你没有搞清这些类之间的关系。两个public类放在一个文件里面肯定不能通过编译的