java学习(1) ----getMethod()和getDeclaredMethod()的区别(转)
时间:2019-09-12
本文章向大家介绍java学习(1) ----getMethod()和getDeclaredMethod()的区别(转),主要包括java学习(1) ----getMethod()和getDeclaredMethod()的区别(转)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
转自: https://blog.csdn.net/qq_36443736/article/details/82890011
getMethod():获取自身能用所有的公共方法。1.类本身的public 2.继承父类的public 3.实现接口的public
getDeclaredMethod():获取类自身声明的所有方法。
getMethod()获取继承父类的public方法举例:
public class Father { public Father() { System.out.println("调用了父类构造方法"); } public void fatherSay() { System.out.println("我是爸爸"); } } public class Son extends Father { public Son() { // TODO Auto-generated constructor stub System.out.println("调用了子类构造方法"); } public void sonSay() { System.out.println("我是儿子"); } public static void main(String[] args) { Son son=new Son(); son.fatherSay(); } }
测试类:
public class test1 { public static void main(String[] args) { Class clazz=Son.class; try { //报错 NoSuchMethodException Method method =clazz.getDeclaredMethod("fatherSay"); method.invoke(clazz.newInstance()); //运行结果: //调用了父类构造方法 //调用了子类构造方法 //我是爸爸 Method method2 =clazz.getMethod("fatherSay"); method2.invoke(clazz.newInstance()); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
原文地址:https://www.cnblogs.com/Lee-yl/p/11512889.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 详解 matplotlib 中的两种标注方法
- 混搭 TypeScript + GraphQL + DI + Decorator 风格写 Node.js 应用
- 彻底搞懂闭包,柯里化,手写代码,金九银十不再丢分!
- Kubernetes控制器--副本集ReplicaSet
- Awesome Kubernetes 系列:第一期
- Mongodb多键索引之数组文档
- 在 Cocos Creator 里画个炫酷的雷达图
- 用shader做一个柿子颜色的过场动画
- mysql 找出最新时间的一条数据
- 【NPM库】- 0x05 - 文件、路径操作
- MySQL中insert阻塞问题的分析
- Fedora32下编译安装Qemu5.1并创建ARM版本Linux虚拟机
- 面试官想问的HashMap,都在这一篇里面了!
- CentOS7下使用Mondo Rescue实现系统全备份
- CentOS7下搭建Rsyslog Server记录远程主机系统日志