package _0827;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
/*
* 编程题:创建一个静态方法:给他传入一个对象,请循环打印出改对象所在类的类名和
* 所实现的方法名(华为笔试最后一道编程)
*/
public class ReflectClass {
public static void test(Object obj){
Class<? extends Object> clazz=obj.getClass();
Method[] ms=clazz.getDeclaredMethods();
long len=Array.getLength(ms);
for(int i=0;i<len;i++){
System.out.println("类名:"+clazz.getName()+" 方法名:"+ms[i].getName());
}
}
class A{
public void a(){}
public void b(){}
public void c(){}
}
public static void main(String[] args) {
ReflectClass reflectClass=new ReflectClass();
ReflectClass.A a=reflectClass.new A();
test(a);
}
}
分享到:
相关推荐
解释:本题目要求创建一个静态方法,给它传入一个对象,请循环的打印出该对象所在类的类名和所实现的方法名。这道题目考察了对对象和类的关系、反射机制和类的信息获取、方法名和类名的输出等方面的知识。 5. 假设...
2. **Java程序的基本结构**:Java程序由一个或多个类组成,其中`public class`声明公共类,`main`方法是程序的入口点,`System.out.println`用于在控制台打印输出。例如,"这是我的第一个 Java 程序"的输出就是通过`...
- **多态性**: 多态性是面向对象编程中的一个重要特性,允许同一个方法或操作在不同对象上有不同的行为表现。 - **访问修饰符**: `private` 是一种访问修饰符,表示只能在定义它的类内部访问成员。这有助于封装,...
是针对刚刚接触C#编程语言的学习者设计的一系列问题,旨在帮助他们巩固基础知识,包括类和对象、实例化、命名空间、方法定义、参数传递、引用类型、代码注释、readonly修饰符、静态成员、面向对象编程原则、封装、...
1. **Java源程序**:一个Java源程序由一个或多个类(class)组成,每个类定义了对象的属性和行为。 2. **关键字**:如"class",在Java中是保留的关键字,用于定义类。 3. **主类与main方法**:Java命令行执行时,...
程序能够正常运行并启动线程,因为X类实现了Runnable接口,并且在main方法中创建了一个Thread对象,传入了X的实例。所以答案是D。 6. 从文件读取第10个字节: 要读取文件的第10个字节,需要先跳过9个字节,然后读取...
C++是一种强大的面向对象编程语言,它在C语言的基础上进行了扩展和改进,引入了类和对象的概念,这是C++相对于C语言的最根本变化。面向对象编程(OOP)的核心思想是封装、继承和多态,这些概念在C++中得到了充分的...
1. **初始化方法**:`+[NSString stringWithCString:]`是一个静态工厂方法,用于创建并返回一个新的`NSString`对象。 2. **内部实现**:在内部,首先通过`allocWithZone:`分配内存来创建一个新的`NSString`实例,...
- **水仙花数**:一个数如果它的每一位数字的立方和等于它本身,那么这个数就是水仙花数。可以用循环和数学运算找到1000以内的所有水仙花数。 - **素数判断**:素数是只有1和自身两个正因数的自然数。可以使用循环...
C++是一种强大的面向对象编程语言,它在C语言的基础上进行了扩展和增强,引入了类和对象的概念,使得程序设计更加抽象化和模块化。面向对象编程(Object-Oriented Programming, OOP)的核心思想是封装、继承和多态。...
在类方法(静态方法)中,不能直接访问非静态成员(包括实例变量和实例方法),因为静态成员属于类,而不属于特定的对象实例。因此,`this`关键字在类方法中不能用来引用当前对象,因为它在类方法中没有意义。 Java...
静态变量生命周期长,实例变量随对象创建和销毁,局部变量随方法调用结束消失。 26. 多态是指子类对象可以替代父类对象,调用父类方法,实现方法的重写或覆盖。接口和抽象类都支持多态,接口强调统一行为,抽象类可...
- `finalize()`:Object类的一个方法,用于清理对象资源,但在实际使用中很少用到,因为垃圾回收器何时调用不确定。 18. **error与exception**: - `Error`:表示系统级的错误,如虚拟机错误,通常不需要程序员...
- **继承**: 继承是面向对象编程中的一个重要特性,允许创建新类(子类)来继承现有类(父类)的属性和行为。子类可以扩展或覆盖父类的行为。 ### 5. 邮件转发 - **转发邮件**: 收到邮件后,如果需要将其发送给其他...
在Java笔试题中,常见的知识点包括语法、类与对象、构造函数、包、运算符、循环结构、抽象类和方法、以及与数据库的交互等。 1. **Java编译过程**:Java程序在编译后会生成字节码(byte code),而不是机器码或DLL...
- **问题4**:要使一个方法能在类名前直接调用,需要将其声明为静态(`static`),所以正确答案是A。 2. **填空题解析**: - **问题1**:Java程序开发流程包括编辑源代码、编译生成字节码和解释执行字节码。 - *...
- 程序创建了一个 `AB` 类的对象,并传入两个字符串 `"Hello!"` 和 `"I love JAVA."`。 - `toString()` 方法被重写,将两个字符串连接并返回。 - 输出结果为 `Hello! I love JAVA.`。 **2. 运行结果:** ```...
6. 指针数组:"int *pa[5]"定义了一个包含5个int型指针的数组,选项A和B描述不准确,C是错误的数组访问方式,只有D是正确的。 7. 引用:引用是已初始化的别名,选项B中引用整数是错误的,C未初始化,D尝试将浮点数...