头条创作挑战赛作者简介:大家好,我是小虚竹。Java领域优质创作者,CSDN博客专家,华为云享专家,掘金年度人气作者,阿里云专家博主,51CTO专家博主
技术活,该赏
点赞收藏再看,养成习惯零、前言
今天是学习JAVA语言打卡的第42天,我的学习策略很简单,题海策略费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着JAVA语言已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。一、题目描述
题目:在JAVA中,一般调用类的方法有两种方式:一种是静态方法,可以直接用类名调用;另一种是非静态方法,要使用类的对象进行调用。
反射机制提供了第三种调用方式:根据需要指定要调用的方法,调用的方法连私有方法也是能调用到的。
实现:使用反射机制调用Math类的静态方法sin()和String类的非静态方法equals()。二、解题思路
定义类:MethodTest
在main方法中调用Math类的静态方法sin()和String类的非静态方法equals()。
使用Method类的相关方法实现
Method类提供类或接口上单独某个方法信息
反映的方法可能是类方法或实例方法,或抽象方法。
使用Method类的invoke()方法可以实现动态调用方法。三、代码详解publicclassMethodTest{publicstaticvoidmain(String〔〕args){try{System。out。println(调用Math类的静态方法sin());MethodsinMath。class。getDeclaredMethod(sin,Double。TYPE);Doublesin1(Double)sin。invoke(null,newInteger(...
(全文)