A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© phil 中级黑马   /  2015-1-17 12:40  /  1071 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序代码如下:
import java.lang.reflect.Method;
class AB{
        protected String name;
        protected String id;
}
public class MethodDemo5 extends AB{
        void show(){}
        public void say(){}
        private int age;
        public char c;
        private boolean b;
        public static void main(String[] args) throws Exception {
                Class<MethodDemo5> c = MethodDemo5.class;
                //获取所有的(包含父类的方法)public修饰的方法
                Method[] m = c.getMethods();
                for (Method method : m) {
                        System.out.println(method);
                }
        }
}
运行结果是:
public final void java.lang.Object.wait() throws java.lang.InterruptedException
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
public boolean java.lang.Object.equals(java.lang.Object)
public java.lang.String java.lang.Object.toString()
public native int java.lang.Object.hashCode()
public final native java.lang.Class java.lang.Object.getClass()
public final native void java.lang.Object.notify()
public final native void java.lang.Object.notifyAll()
问题:MethodDemo5类只有两个pubilc方法main()和say(),为什么还会打印这么多public方法?看了好久还是不懂,各位求解答!!


2 个回复

倒序浏览
这些方法全部都是继承来的 继承AB AB有继承Object      带native关键字的是基础类库  如果是暴利获取的话会过滤掉native关键字方法
回复 使用道具 举报
fluency 发表于 2015-1-17 12:54
这些方法全部都是继承来的 继承AB AB有继承Object      带native关键字的是基础类库  如果是暴利获取的话会 ...

明白了 ,多谢。。!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马