📄 accesscontrol.java
字号:
import java.applet.Applet;
import java.awt.*;
public class AccessControl extends Applet // 定义主类,在浏览器中显示信息
{
ClassBeAccessed c = new ClassBeAccessed();//创建被访问使用类的对象(区域D)
subClass sc = new subClass(); //创建被访问类子类的对象(区域C)
PackageClass ic = new PackageClass(); //创建被访问类同一包中类的对象(区域B)
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); //所有性质的属性
}
}
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 toString() //公共方法:连接各属性的字符串并显示
{
return(m_PublicProperty + "; "
+ m_FriendlyProperty + "; "
+ m_ProtectedProperty + "; "
+ m_PrivateProperty + ";");
}
}
class subClass extends ClassBeAccessed //被访问类的子类
{
ClassBeAccessed c = new ClassBeAccessed(); //创建被访问类的对象
String AccessDirectly() //直接调用被访问类的属性,可调用的有:
{
return(c.m_PublicProperty + "; " //公共属性
+c.m_FriendlyProperty + "; " //缺省属性
+c.m_ProtectedProperty + "; "); //保护属性
}
String AccessCls()//通过调用被访问类的公共方法,可以调用它的各种性质的属性
{
return(c.toString());
}
}
class PackageClass //与被访问类在同一个包中的类
{
ClassBeAccessed c = new ClassBeAccessed(); //创建被访问类的对象
String AccessDirectly() //直接调用被访问类的属性,可调用的有:
{
return(c.m_PublicProperty + "; " //公共属性
+c.m_FriendlyProperty + "; " //缺省属性
+c.m_ProtectedProperty + "; "); //保护属性
}
String AccessCls()
{
return(c.toString());//通过调用被访问类的公共方法,可以调用它的各种性质的属性
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -