java通过反射执行方法,Java通过反射调用方法

本文详细介绍了如何使用Java反射API来调用实例方法、静态方法,创建对象并操作其属性,包括通过`Method.invoke()`执行length(), equals(), substring()等方法,以及静态方法valueOf()的运用。
摘要由CSDN通过智能技术生成

Java通过反射调用方法

package com.wkcto.chapter08.demo02;

import java.lang.reflect.Constructor;

import java.lang.reflect.Method;

/**

* 通过反射调用方法

* method.invoke( 实例名, 方法的实参列表)

* 如果是静态方法, 实例名位置传递null

* @author 蛙课网

*

*/

public class Test03 {

public static void main(String[] args) throws Exception {

//1)创建Class对象

Class> class1 = String.class;

//2) 通过Class对象创建实例

Object str1 = class1.newInstance(); //new String();

//通过构造方法创建实例, String( byte[] ) 根据字节数组创建字符串

Constructor> constructor = class1.getConstructor( byte[].class );

byte[] bytes = "wkcto".getBytes(); //返回字符串对应的字节数组

Object str2 = constructor.newInstance(bytes);

//3)反射length()方法

Method lengthM = class1.getMethod("length");

//方法调用, invoke( 实例名, 该方法的实参列表)

Object len = lengthM.invoke(str1, null); //str1.length()

System.out.println( len );

len = lengthM.invoke(str2);

System.out.println( len );

//4)反射equals(Object)

Method equalsM = class1.getMethod("equals", Object.class);

Object result = equalsM.invoke(str1, str2); //str1.equals(str2)

System.out.println( result );

//5)反射substring( int, int )

Method substringM = class1.getMethod("substring", int.class, int.class);

Object sub = substringM.invoke(str2, 0,2); //str2.substring(0,2)

System.out.println( sub );

//6)反射静态方法 valueOf(int)

Method valueOfM = class1.getMethod("valueOf", int.class);

Object text = valueOfM.invoke(null, 258);

System.out.println( text instanceof String );

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值