Cedar老师的java中的反射学习笔记(三)--获取方法信息

基本的数据类型,void关键字都存在类类型,通过getClass();获取到

(1)基本数据类型--类类型
int.class -->int 的类类型
String.class-->String类的 类类型
double.class-->double的类类型
Double.class-->Double类的 类类型
void.class -->void 的类类型

Class类的基本api:

(2)一个成员方法就是一个method对象

getMethods() -->public的方法,包含父类继承的
getDeclaredMethod()-->该类自己声明的方法,不问访问权限
getReturnType()-->返回值类型的类类型
getParameterType()-->参数列表类型的类类型

时间: 2024-12-26 22:26:12

Cedar老师的java中的反射学习笔记(三)--获取方法信息的相关文章

Cedar老师的java中的反射学习笔记(二)--动态加载

静态加载: 编译时刻加载类 (1)new创建对象是静态加载类,在编译时加载类 动态加载: 运行时刻加载类 (2)Class c=Class.forName() 动态加载类 c.newInstance(); 代码: (1)创建一个office类: class Office { public static void main(String[] args) { Word w=new Word(); w.start(); Excel e=new Excel(); e.start(); } } 编译后报错

java中的反射学习笔记(一)

Foo fool=new Foo(); 任何一个类,也是一个实例对象,Class类的实例对象,表示方法如下: (1)任何一个类都有一个隐含的静态成员变量class Class c1=Foo.class; (2)已经知道该类的对象通过getClass方法 Class c2=fool.getClass(); c1,c2表示了Foo类的类类型(class type) 类 也是对象,是Class的实例对象,这个对象我们称为给类的类类型 Class c3=Class.forName(类的全名): 不仅表示

Java中实现线程通信的三个方法的作用是什么?

Java提供了3个方法解决线程之间的通信问题,均是java.lang.Object类的方法,都只能在同步方法或者同步代码块中使用,否则会抛出异常. 方法名 作 用 final void wait() 表示线程一直等待,直到其它线程通知 void wait(long timeout) 线程等待指定毫秒参数的时间 final void wait(long timeout,int nanos) 线程等待指定毫秒.微妙的时间 final void notify() 唤醒一个处于等待状态的线程.注意的是在

Java中从键盘输入的三种方法

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class EnterTest { public static void main(String[] args) { //主方法 CharTest(); //调用System.in方法 ReadTest(); //调用ReadTest方法 Scan

Java多线程高并发学习笔记(三)——深入理解线程池

线程池最核心的一个类:ThreadPoolExecutor. 看一下该类的构造器: public ThreadPoolExecutor(int paramInt1, int paramInt2, long paramLong, TimeUnit paramTimeUnit, BlockingQueue<Runnable> paramBlockingQueue) { this(paramInt1, paramInt2, paramLong, paramTimeUnit, paramBlockin

浅说Java中的反射机制(二)

写过一篇Java中的反射机制,不算是写,应该是抄了,因为那是别人写的,这一篇也是别人写的,摘抄如下: 引自于Java基础--反射机制的知识点梳理,作者醉眼识朦胧.(()为我手记) 什么是反射? 正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量.成员方法.构造方法等,反射可以通过加载类(加载类是个什么东西?一直搞不清楚),解剖出类的各个组成部分. 为什么要用反射? 我们需要访问一个

Java 中的反射机制

一.什么是Java中的反射: Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性和方法.Java 的这一能力在实际应用中用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性.例如,Pascal.C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息.Reflection 是 Java 被视为动态(或准动态)语言的关键,允许程序于执行期 Reflection APIs 取得任何已知名称之

java中利用反射机制绕开编译器对泛型的类型限制

首先看下面这个例子 public static void main(String[] args) { ArrayList<Integer> al1 = new ArrayList<Integer>(); al1.add(1); ArrayList<String> al2 = new ArrayList<String>(); al2.add("hello"); //int型链表和string型链表,结果为true System.out.pr

Java中的反射——(1)什么是反射

Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class. public class ReflectTest { public static void main(String[] args) throws ClassNotFoundException { String str1 = "abc"; Class cls1 = String.class; Class cls2 = str1.getClass(); Class cls3 = Class.forNa