自己写的测试例子 分享一下
其中郁闷了 f.getType() instanceof Man 感觉这样就可以了但就是不正确,希望来人搞定的告诉我一声
import java.lang.reflect.Field;
import java.lang.reflect.Type;
/**
* @author Administrator
* 类的反射
*/
public class Reflect {
public static void main(String [] args) throws ClassNotFoundException{
new Child1().doMain();
}
}
interface Do{
public void doMain();
}
class Man{
}
class Father extends Man implements Do{
@Override
public void doMain() {
// TODO Auto-generated method stub
}
}
class Child1{
private Father father;
private String name;
private Integer age;
private Boolean sex;
/**
* @param clazz 派生子类
* @param Findclazz 要找的父类
* @return
* @throws ClassNotFoundException
* 递归该类是否是某个类 子类
*/
public boolean allExtends(Class<?> clazz,Class Findclazz) throws ClassNotFoundException{
System.out.println(clazz.getName());
// System.out.println(Class.forName(clazz.getName()).getSuperclass());
if(clazz==Findclazz){//找到停止条件
return true;
}else if(clazz==Object.class){
return false;
}
return allExtends(Class.forName(clazz.getName()).getSuperclass(), Findclazz);
}
public void doMain() throws ClassNotFoundException{
Field[] field= this.getClass().getDeclaredFields();
for(Field f:field){
//System.out.println(f.getType().getSuperclass()==Man.class);
System.out.println(allExtends(f.getType(),Man.class));
//System.out.println(f.getType() instanceof Man); //感觉应该是这个样子 但是就是报错 郁闷
System.out.println();
}
}
}
class Child2{
}
分享到:
相关推荐
1. 输出50—100间的所有素数,其中判断一个数是否为素数用函数完成。 2. 设计一个学生成绩管理系统,能输入学生的学号、姓名和成绩等数据,能按成绩从高到低进行排序,并能将排序的结果输出。 提示: 设计一个学生类...
7. 最终类不能派生子类,最终方法不能被覆盖。(正确) 解析:在 Java 中,final 类不能被继承,final 方法不能被覆盖。 8. 子类要调用父类的方法,必须使用 super 关键字。(正确) 解析:在 Java 中,子类可以...
例如,`LocalDate`对象可以用来判断一个人的出生日期是否落在某个星座的范围内。 4. **条件判断**:计算生肖通常涉及到对年份进行模运算(%),然后与生肖的顺序进行比较。星座的判断则需要检查日期是否在给定的...
8. 最终类不能派生子类,最终方法不能被覆盖。【正确】 9. 子类要调用父类的方法,必须使用super关键字。【正确】 10. 一个Java类可以有多个父类。【错误,Java类只能继承一个父类】 11. 如果p是父类Parent的对象...
8. **最终类不能派生子类,最终方法不能被覆盖。** - **解析**: 这个陈述是正确的。`final`类不能被继承,而`final`方法不能被子类重写。 9. **子类要调用父类的方法,必须使用super关键字。** - **解析**: 子类...
4. **最终类不能派生子类,最终方法不能被覆盖。** - **知识点**: Java中的`final`关键字。 - **解析**: 此判断正确。`final`关键字用于声明一个类不可被继承,或者声明一个方法不可被重写。这意味着`final`类不能...
5. **正确**:最终类(final class)不能派生子类,最终方法(final method)不能被重写。 #### 六、程序错误及改正 1. **错误**:`abstract`和`final`不能同时修饰类。 - **改正**:删除`final`。 2. **错误**:...
- **final类不能被继承:** 不能从final类派生子类。 - **String类:** String类是final类,不可被继承。 **7.7 抽象类** 抽象类不能被实例化,可以包含抽象方法和具体方法。 **7.8 接口(模板方法模式)** 接口...
因此,最终类不能派生子类,最终方法也不能被覆盖。 - **解析**: 正确。最终类和最终方法都具有不可扩展性。 5. **子类调用父类方法** - **知识点**: 子类可以通过`super`关键字来调用父类的方法。这在继承体系中...
在领域分析阶段,需要确定系统中的关键类和它们的属性。这些类可能包括顾客信息、菜品管理、订单处理、库存控制、支付结算等。通过绘制类图,可以清晰地展示各个类及其之间的关系,以反映餐饮业务流程。 **3. 总体...
第八题:如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的()。答案是 C.外码。 关系数据模型中的术语“元组...
此外,还可以通过设置判断图标的文件属性和分支路径的属性来定制分支结构的行为。 循环分支结构可以通过判断图标或者交互图标来实现。例如,当满足特定条件时,程序会反复执行某个分支路径,直到条件不再满足为止。...
语句if(x == 3)首先判断x的值是否为3,若相等条件表达式的值为ture,否则为false。 2-15 什么叫做作用域?什么叫做局部变量?什么叫做全局变量,如何使用全局变量? 解: 作用域是一个标识符在程序正文中有效的...
4. 列表框选定属性:列表框内某个条目是否被选定,可以通过检查其`Selected`属性来确定。选项A)的`Value`通常用于获取或设置列表框当前选中的条目的索引,B)的`ColumnCount`是获取列表框的列数,C)的`ListCount`是...
在C#中,并非所有的类都能派生子类,例如密封类(sealed class)就不能被继承。 3. **文件流的使用** - **知识点**:`FileStream` 类的功能。 - **解释**:正确。`FileStream` 类可以用来读写文件,不仅可以打开...
实例135 检测数组中是否存在某个值 163 实例136 获取数组中的当前单元 164 实例137 从数组中随机取出元素 165 实例138 合并数组 166 实例139 拆分数组 167 实例140 遍历数组 168 2.11 日期和时间 169 实例141 设置...
5. 控制流:通过`for`和`while`循环处理批量数据,以及`if/else`语句进行条件判断,比如检查学生的成绩是否及格。 6. 函数:将重复使用的代码封装成函数,提高代码的可重用性和可读性。例如,`add_student()`, `...
实例135 检测数组中是否存在某个值 163 实例136 获取数组中的当前单元 164 实例137 从数组中随机取出元素 165 实例138 合并数组 166 实例139 拆分数组 167 实例140 遍历数组 168 2.11 日期和时间 169 实例141 设置...
1. 在学校中,一个导师可以指导多个研究生,一个研究生可以由多个导师指导,那么导师和研究生之间是( )关系。 2. 交通工具与卡车之间是( )关系。 3. 公司与部门之间是( )关系。 4. 图形与矩形之间是( )关系...
概念是思维的基本单位,判断是对事物是否具有某种属性的肯定或否定回答,而推理则是由一个或多个判断推出另一个判断的思维形式。 数理逻辑的基本内容包括命题逻辑和谓词逻辑。命题逻辑研究命题及其相互之间的逻辑...