首先定义A类，其代码如下。
package ch05_09;
public class A {
    //属性x，只能在本类中可访问
	private int x;  
    //属性y，即可以在本类中可访问；也可以在其他类中，通过实例对象访问
	public int y;
    //方法abc1()，只能在本类中可访问
	private int abc1(){
		return this.x+this.y;
	}
   //方法abc2()，即可以在本类中可访问；也可以在其他类中，通过实例对象访问
	public int abc2(){
		return this.abc1();
	}
	public A(int x, int y) {
		this.x = x;
		this.y = y;
	}
}
再定义B类，并通过A类的一个对象a访问其自身的属性和方法。代码如下，但要注意给出错误说明。
package ch05_09;
public class B {
	public static void main(String[] args) {
		A a=new A(10,20);//首先创建A类的一个对象a，并实例化
		System.out.println(a.abc2());//通过对象a调用方法abc2()。
		System.out.println(a.y); //通过对象a属性y。
		//该语句是错误的，因为方法abc1()在类A被定义为private访问方式
		System.out.println(a.abc1());
        //该语句是错误的，因为属性x在A类中被定义为private访问方式
		System.out.println(a.x);
	}
}