JAVA反射机制定义:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
动态语言:
“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言,Java不是动态语言。
对于Java的反射机制,对于Java来说非常重要,在以后的学习或者开发中将会经常见到的,下面是开始学习反射时写的一个实例:
import java.lang.reflect.Method;
public class InvokeTest {
/**
* @param args
* 利用反射来创建对象,并且利用反射来执行对象中的方法
*/
public static void main(String[] args) throws Exception {
// 普通情况下要调用add和echo方法就先new一个对象,然后直接调用,这里出现第二种获取类的对象的方法
Class<?> classType = InvokeTest.class;
Object invokeTest = classType.newInstance();
System.out.println("测试invokeTest的类型是不是InvokeTest:"+(invokeTest instanceof InvokeTest));
//利用反射来调用对象中的方法
Method method1 = classType.getMethod("add", new Class[]{int.class,int.class});
Object result = method1.invoke(invokeTest, new Object[]{100,1000});
System.out.println(result);
Method method2 = classType.getMethod("echo",new Class[]{String.class});
Object result2 = method2.invoke(invokeTest, new Object[]{" is me."});
System.out.println(result2);
}
public int add(int a, int b) {
return a + b;
}
public String echo(String string) {
return "dylan" + string;
}
}
程序运行结果:
测试invokeTest的类型是不是InvokeTest:true
1100
dylan is me.
思考:Java有几种创建对象的方法?
分享到:
相关推荐
在Java的世界里,初学者往往会面临许多挑战,但“初识Java_课后补充作业”正是为了帮助这些新手们提供必要的学习支持。这份资料旨在加深对Java编程语言的理解,提高学习效率,使初学者能更快地掌握Java的核心概念。 ...
第01讲 初识Java.ppt
Java 语言以其“一次编译,到处运行”的特性在编程界占据着重要地位。这是因为Java程序首先被编译成与平台无关的字节码(.class文件),这些字节码随后在任何支持Java的平台上由Java虚拟机(JVM)执行。JVM是Java最...
【JAVA基础-初识JAVA】 Java是一种广泛使用的高级编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它的设计目标是“一次编写,到处运行”,这意味着编写好的Java程序可以在任何支持Java环境的...
《初识Java微信公众号开发》 http://www.imooc.com/learn/368 附件是整理的源码编译没有错误。 环境说明:tomcat8.5、jdk1.8、dom4j-1.6.1、XStream-1.4.9 程序总是报错“org.xmlpull.v1.XmlPullParserException”,...
在本实践课程“Java2上机实践1初识java”中,我们将深入探索Java编程的基础概念,通过一系列有趣的实例来加深理解。这个压缩包包含了实验1的相关材料,旨在引导我们逐步掌握Java语言的核心特性。 首先,我们要从"猜...
"初识Java.zip"这个压缩包文件显然旨在帮助初学者入门Java编程。它包含的资源可能包括教学演示案例、上机练习参考答案以及课后作业参考答案,这些都是学习过程中非常重要的组成部分。 第一章"初识Java"通常会涵盖...
课堂笔记,第一次学习java的课堂笔记,第一次学习java的课堂笔记
初识Java的内容包括:什么是Java、Java的平台版本、Java的构成(JavaSE、JavaEE、JavaME)、Java语言的特性、Java的编译和运行命令、JDK的安装等...
Java程序设计--初识java 28.pdf
Java基础精品课01-初识java录屏1.java概念简介.mp4
这个“Java基础精品课01-初识java”课程旨在为初学者提供一个全面的入门指南,帮助他们理解Java的核心概念和基本语法。 在Java编程语言中,我们首先会接触到的是它的关键字、数据类型以及变量。Java的关键字是预定...
这个名为"初识java,用springBoot学习java.zip"的压缩包文件,显然是为了帮助初学者入门Java编程并深入理解Spring Boot的应用。 首先,让我们来了解一下Java的基础知识。Java的核心特性包括封装、继承、多态和抽象,...
### 初识JAVA的知识:配置Java环境变量于Windows 7 #### 一、Java与环境变量的重要性 Java作为一门跨平台的编程语言,其运行环境的配置至关重要。无论是开发还是运行Java程序,都需要确保系统中正确设置了Java环境...
Java基础精品课01-初识java录屏2.java的编译和运行.mp4
初识java_202410182342_54499.pdf
Java基础精品课01-初识java录屏6.标识符.mp4
【初识Java】 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(后被Oracle公司收购)于1995年发布。它的设计目标是具备“简单性、面向对象、健壮性、安全性、可移植性、高效性、多线程和动态性”等...