java如何获取内部静态类变量

java如何获取内部静态类变量,第1张

静态方法不与特定实例关联,不能引用this,要得到当前类名,没有直接的办法。

通过查资料和试验,可以用下面几种方式:

public static void testGetClassName()

{

// 方法1:通过SecurityManager的保护方法getClassContext()

String clazzName = new SecurityManager()

{ public String getClassName()

{

return getClassContext()[1]getName();

}

}getClassName();

Systemoutprintln(clazzName);

// 方法2:通过Throwable的方法getStackTrace()

String clazzName2 = new Throwable()getStackTrace()[1]getClassName();

Systemoutprintln(clazzName2);

// 方法3:通过分析匿名类名称()

String clazzName3 = new Object() {

public String getClassName()

{

String clazzName = thisgetClass()getName();

return clazzNamesubstring(0, clazzNamelastIndexOf('$'));

}

}getClassName();

Systemoutprintln(clazzName3);

}

分别调用10万次,

方法1:219ms

方法2:953ms

方法3:31ms

话不多说,直接上程序:

public class A{

private int a;

public int getA(){return a;}

}

public class B{

public void getAFromB(){

A a = new A();

Systemoutprintln(agetA());

}

}

这样就可以从B里面获取A里面的变量的值了。

子类的方法和属性如果是父类中没有的,那又能够父类声明,子类实例化的对象就不可以使用。

class a{

int i;

void g(){}

}

class b extends a{

int k;

void h(){}

}

a pro = new b();

那么pro只能使用i和g()不能使用k和h()

楼主明白了吗

以上就是关于java如何获取内部静态类变量全部的内容,包括:java如何获取内部静态类变量、一个工程中,怎么让一个java文件获得另一个java文件中定义的变量的值、Java 类 类变量 属性与方法的引用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9430371.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存