⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accesscontrol.java

📁 关于隐藏域抽象域的例子
💻 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("proteceted");
		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 + -