import java.applet.*;
import java.awt.*;
public class AccessControl
{ //定义主类,在浏览器中显示信息
ClassBeAccessed c=new ClassBeAccessed(); //创建被访问类得对象(区域D)
subClass sc=new subClass(); //创建访问类子类的对象(区域C)
PackageClass ic=new PackageClass(); //创建被访问类同一包中类得对象(区域B)
public void paint(Graphics g) //显示可访问信息
{
g.drawString("Self Accesssible:",10,20); //类可以访问自己类所有方法和域
g.drawString(c.toString(),20,35);
g.drawString("SubAccessble:",10,55); //类可以直接访问父类的属性
g.drawString(sc.AccessDirectly(),20,70);
g.drawString("Package Accesssible:",10,90); //同包中的类可以访问哪些属性
g.drawString(ic.AccessDirectly(),20,105);
g.drawString("Access using public methed:",10,125); //通过调用被访问类的
g.drawString(sc.AccessCls(),20,140); //公共方法来访问它的
g.drawString(ic.AccessCls(),20,155); //所有性质的属性
}
}
class ClassBeAccessed //类的默认访问控制,同一包中的其他类都可以访问
{
public String m_PublicProperty; //公共属性
String m_FriendlyProperty; //默认属性(又称为友元)
protected String m_ProtectedProperty;// 保护属性
private String m_PrivateProperty; //私有属性
ClassBeAccessed() //构造函数,为各属性赋初值
{
m_PublicProperty=new String("Public");
m_FriendlyProperty=new String("Friendly");
m_ProtectedProperty=new String("Protected");
m_PrivateProperty=new String("Private");
}
public String tiString() //公共方法连接各属性的字符串并显示
{
return( m_PublicProperty+";"+
m_FriendlyProperty+";"+
m_ProtectedProperty+";"+
m_PrivateProperty+";" );
}
}
class subClass extends ClassBeAccessed //定义被访问类的子类
{
ClassBeAccessed c=new ClassBeAccessed();//创建被访问类的对象
String AccessDirectly() //直接访问ClassBEaccess 类得可访问的属性
{
return( c.m_PublicProperty+";"+ //公共属性
c.m_FriendlyProperty+";"+ //默认属性
c.m_ProtectedProperty+";"); //保护属性
}
String AccessCls() //通过调用被访问类的公共方法。可访问它的各种属性
{
return(c.toString());//调用类的公共方法,可访问它的各种性质的属性
}
public String AccessDirectly() {
// TODO Auto-generated method stub
return null;
}
public String AccessCls() {
// TODO Auto-generated method stub
return null;
}
}
class PackageClass //定义与被访问类在同一个包中的类
{
ClassBeAccessed c=new ClassBeAccessed(); //创建被访问类得对象
String AccessDirectly() //直接调用被访问类的属性,可调用的有:
{
return( c.m_PublicProperty+";"+ //公共属性
c.m_FriendlyProperty+";"+ //默认属性
c.m_ProtectedProperty+";"); //保护属性
}
String AccessCls()
{
return(c.toString()); //调用的公共方法,可访问它的各种性质的属性
}
}
谁来帮我调试一下
谢了