继承和反射

本文介绍了Java中的继承和反射机制。继承允许基于已存在的类创建新类,复用父类的方法和域。反射则是在运行时获取类及其属性的能力。文章讲解了类、超类、子类的关系,super关键字的用途,以及多态的概念。此外,还探讨了抽象类、final类和Object类的角色。在反射部分,解释了如何在运行时获取和操作类、构造器、方法和字段,以及java.lang.Class和java.lang.reflect包的相关类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继承:基于已存在的类构造一个新类,继承已存在的类就是复用(继承)这些类的方法和域,在此基础上还可以添加新的方法和域。

反射:是指在程序运行期间发现更多的类一起属性的能力。

1.类、超类、子类

关键字extends表明正在构造的新类派生与一个已经存在的类。已存在的类称为:父类、基类、超类。新类称为子类、派生类、孩子类。子类比超类拥有更多的功能。super:子类调用超类的域或者方法时使用。

super.functionName();

Manager继承Employee类,不能够删除继承的任何域和方法。

public Manager(String n, double s, int year, int month, int day) {
		super(n, s, year, month, day);
}

super(n, s, year, month, day):指调用超类中涉及相关域的构造器。

super关键字的用途:

  1. 调用超类的方法。
  2. 调用超类的构造器。

多态:一个Employee对象既可以引用Employee类对象,也可以引用Employee类的任何一个子类对象。

        Manager boss =new Manager("Carl" , 80000,1987,12,15);
//		boss.setBonus(5000);
		Employee[] staff = new Employee[3];
		staff[0] = new Manager("Carl" , 80000,1987,12,15);
//		staff[0] = boss;
//		boss = staff[0]; // Error
		Manager boss = (Manager) staff[0]; // Right
		staff[1] = new Employee("Harry" , 50000,1989,10,1);
		staff[2] = new Employee("Tony", 40000, 1990, 3, 15);
		for(Employee e : staff) {
			System.out.printl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值