类和子类

package ch3;
import ch3.MyClass1;
public class Test {

	public void func(){
		MyClass1 obj1 = new MyClass1();
		// 公共属性,任何地方都可以访问
		System.out.println(obj1.a);
		// Error,b为私有属性,类外无法访问
		System.out.println(obj1.b);
		// c是受保护属性,同包的类可以访问
		System.out.println(obj1.c);
		// d是缺省属性,同包的类可以访问
		System.out.println(obj1.d);
		// func1()是公共方法,任何地方都可以访问
		obj1.func1();
		// Error,func2()为私有方法,类外无法访问
		obj1.func2();
		// func3()是受保护方法,同一包中的类可以访问,其他包中的子类也可以访问
		obj1.func3();
		// func4()是缺省方法,同一包中的类可以访问
		obj1.func4();
		// 同一包中的缺省类可以访问
		MyClass2 obj2 = new MyClass2();
		
	}
	
}



 //假如将Test类放在与MyClass1和MyClass2不同包下,
 //在Test中访问MyClass1、MyClass2及其成员
 
  package ch3;
  import ch3.MyClass1;
  // Error,不能导入不同包中的缺省类
  import ch3.MyClass2;
  public class Test {
	public void func(){
		MyClass1 obj1 = new MyClass1();
		// 公共属性,任何地方都可以访问
		System.out.println(obj1.a);
		// Error,b为私有属性,类外无法访问
		System.out.println(obj1.b);
		// Error,c是受保护属性,不同包中的非子类不能访问
		System.out.println(obj1.c);
		// Error,d是缺省属性,不同包中的类不能访问
		System.out.println(obj1.d);
		// func1()是公共方法,任何地方都可以访问
		obj1.func1();
		// Error,func2()为私有方法,类外无法访问
		obj1.func2();
		// Error,func3()是受保护方法,不同包中的类不能访问
		obj1.func3();
		// Error,func4()是缺省方法,不同包中的类不能访问
		obj1.func4();
		// 同一包中的缺省类可以访问
		MyClass2 obj2 = new MyClass2();
	}
}





 //在引入继承的情形下,假如将Test类放在与MyClass1和MyClass2不同包下,
 //在Test中访问MyClass1、MyClass2及其成员的可行性
  package ch3;
  import ch3.MyClass1;
  // Error,不能导入不同包中的非公共类
  import ch3.MyClass2;
  public class Test extends MyClass1 {
	public void func(){
		// 公共属性,任何地方都可以访问
		System.out.println(a);
		// Error,b为私有属性,类外无法访问
		System.out.println(b);
		// c是受保护属性,子类可以访问
		System.out.println(c);
		// Error,d是缺省属性,不同包中的类不能访问
		System.out.println(d);
		// func1()是公共方法,任何地方都可以访问
		func1();
		// Error,func2()为私有方法,类外无法访问
		func2();
		// func3()是受保护方法,子类可以访问
		func3();
		// Error,func4()是缺省方法,不同包中的类不能访问
		func4();
		// Error,不可以访问不同包中的缺省类
		MyClass2 obj2 = new MyClass2();
	}
}
// 上述代码中Test类是MyClass1的子类
 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值