import java.util.*
class DumpMethods {
public static void main(String args[]) {
DumpMethods d=new DumpMethods()
d.getClassOverrideMethods("DEF")
d.getClassOverloadMethods("DEF")
}
public List getClassOverrideMethods(String classFilename){
List rewrite=new ArrayList()
Method[] m1=null,m2=null
try{
Class nowClass=Class.forName(classFilename)
Class superClass=(Class)nowClass.getGenericSuperclass()
m1=nowClass.getDeclaredMethods()
m2=superClass.getDeclaredMethods()
} catch (Throwable e) {
System.err.println(e)
}
for(int i=0i<m1.lengthi++)
for(int j=0j<m2.lengthj++)
{
if( m1[i].getName().equals(m2[j].getName())) { rewrite.add(m1[i].toString())break}
}
System.out.println("覆宴好野袜信盖的方晌喊法")
for(int k=0k<rewrite.size()k++)
System.out.println(rewrite.get(k))
return rewrite
}
public List getClassOverloadMethods(String classFilename){
List rewrite=new ArrayList()
Method[] m1=null
try{
Class nowClass=Class.forName(classFilename)
m1=nowClass.getDeclaredMethods()
} catch (Throwable e) {
System.err.println(e)
}
for(int i=0i<m1.lengthi++){
for(int j=0j<m1.lengthj++)
{
if(j==i) continue
if( m1[i].getName().equals(m1[j].getName())) { rewrite.add(m1[i].toString())break}
}
}
System.out.println("重写的方法")
for(int k=0k<rewrite.size()k++)
System.out.println(rewrite.get(k))
return rewrite
}
}
去掉using namespace std,换成更小的名字空间比如本宏早灶程序里用到的,用using std::coutusing std::endl
或者不用名字空间,用#include <睁扮iostream.h>等,有几种解决办法
据说这是VC6。0的一个BUG,只要含有using namespace std就会提示友员函数没有访问私有成员的权限。
换个对标准蔽扮C++支持更好的编译器吧。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)