导航:首页 > 编程语言 > java读取class

java读取class

发布时间:2022-08-30 08:26:43

java 怎么获取t的class

1. public Type getGenericSuperclass()
用来返回表示当前Class 所表示的实体(类、接口、基本类型或 void)的直接超类的Type。如果这个直接超类是参数化类型的,则返回的Type对象必须明确反映在源代码中声明时使用的类型。比如:

import java.lang.reflect.ParameterizedType;
public class GT1 extends GT2<Integer>{
public static void main(String[] args) {
System.out.println(((ParameterizedType)new GT1().getClass().getGenericSuperclass()));
}
}

则输出结果即为:
GT2<java.lang.Integer>

如果此Class代表的是Object 类、接口、基本类型或 void,则返回 null。。如果此对象表示一个数组类,则返回表示 Object 类的 Class 对象。

2. public Type[] getGenericInterfaces()
与上面那个方法类似,只不过Java的类可以实现多个接口,所以返回的Type必须用数组来存储。
以上两个方法返回的都是Type对象或数组,在我们的这个话题中,Class都是代表的参数化类型,因此可以将Type对象Cast成ParameterizedType对象。而 ParameterizedType对象有一个方法, getActualTypeArguments()。
public Type[] getActualTypeArguments()
用来返回一个Type对象数组,这个数组代表着这个Type声明中实际使用的类型。接着使用上面的例子:

import java.lang.reflect.ParameterizedType;
public class GT1 extends GT2<Integer>{
public static void main(String[] args) {
System.out.println(((ParameterizedType)new GT1().getClass().getGenericSuperclass()).getActualTypeArguments()[0]);
}
}

⑵ java 如何获取基本类的class

publicstaticObjectgetType(Classc)throwsException{
Fieldf=c.getDeclaredField("TYPE");
Objectobj=f.get(c);
returnobj;
}
publicstaticvoidmain(String[]args)throwsException{
System.out.println(getType(Integer.class));
}

⑶ java怎么查看.class文件

.java文件通过编译后会产生.class文件,一般在同一个目录下,但是如果用的工具编写就不一定了,如果直接打开.class就直接用记事本打开,但因为是编译后的字节码文件都是乱码,如果想通过.class查看编译前的java文件,就去找个反编译工具变为java文件就可以看到源代码

⑷ java 关于class提取问题

没有提取这个说法。
你说的意思有点歧义:

1,如果你说的是要在某个class中声明一个method为“public void govern(People youth, People alts, People seniors, Environment environment){}”那么,小括号中那四组用逗号隔开的“东西”叫做形参,他们表示,如果你要是在某个地方使用这个方法,必须传入上面的四个形参。
“People youth”意思是一个People类型的参数,其他的三个形参也同理。

2,如果你说的是在某个地方要调用一个class里面的method “public void govern(People youth, People alts, People seniors, Environment environment){}”的话,是不能这么写的,调用和声明不一样,只要写上方法名字和实参(和形参不一样,形参只是表名参数类型,其实当前是不存在的,而实参是实实在在有的):形式为:“govern( youth, alts, seniors, environment);”

一个是声明,一个是调用,就这点区别,楼主看看就清楚了

⑸ java 获取class对象

这是java中的反射机制,反射是java程序开发语言的特征之一,它允许动态发现和绑定类、方法、字段以及所有其他的元素。它有一些功能如:1、在运行是判断一个对象所属的类 2、在运行时构造任意一个类的对象 3、在运行时判断任意一个类所具有的成员变量和方法 4、在运行时地能够调用任意一个方法,甚至是private的方法 5、生成动态代理

⑹ java如何获取class所对应的.java文件的路径

java程序运行的时候,只是运行的class文件,你把.java文件放到任何一个目录都可以

如果必须得到的话,那就只能每个路径下都搜索一遍了。

⑺ java中如何得到一个数组的class的元素class

1、在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。
2、数组的复制:System.array()。浅拷贝
3、数组的排序:Arrays.sort()。
4、在已排序的数组中查找某个元素:Arrays.binarySearch()。
5、获取Class的三种方式:
(1)利用对象调用getClass()方法获取该对象的Class实例;
(2)使用Class类的静态方法forName(),用类的名字获取一个Class实例;
(3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。

⑻ Java 获取包所有class

既然是封到包里的,遍历确实是有点麻烦

思路如下:

  1. 输入包名

  2. 转换为资源路径名,即以‘/’替换‘.’

  3. 找到ClassLoader,并获得资源名对于的资源对象

  4. 判断资源对象是否为jar包内

4.1若否,则使用文件系统进行处理为文件夹,之后遍历名称进行类加载。这里直接使用资源路径名,会是其真实位置,不用关注因部署在tomcat上而产生的路径变化。

4.2若是,则构造一个jar文件类,使用jar操作类遍历内容,进行类加载。

实现参考(其实我只是把它的思路总结出来):http://guoliangqi.iteye.com/blog/644876

⑼ java 如何获取 泛型的 class

package com.leo.common;
public class Genericity<T> {
public static void main(String[] args) {
Genericity<String> test = new Genericity<>("test1");
System.out.println(test.getGenericityName());
Genericity<Double> test1 = new Genericity<>(new Double(123));
System.out.println(test1.getGenericityName());
}
private T data;
public Genericity(T data) {
this.data = data;
}
public T getData() {
return this.data;
}
public String getGenericityName() {
return data.getClass().getName();
}
}

⑽ javac读取classpath值吗

肯定的了,classpath,翻译过来就是class文件的路径。所以应该和javac命令没有关系的。他还有一个参数-d,下面是网络过来的。如果不进入.java文件所在的目录,可以直接指定绝对路径,而且可以一次编译多个文件

以下三个命令可以满足你的要求。
javac-dd: estd:.java
javac-dd: est-cpd: estc:a.java
java-cpd: esta
说明-d指定生成的class文件存放路径
-cp指定引用的class文件存放路径
阅读全文

与java读取class相关的资料

热点内容
调研编译写信息 浏览:857
python冯诺依曼 浏览:417
同时安装多个app有什么影响 浏览:251
奥术杀戮命令宏 浏览:181
用sdes加密明文字母e 浏览:358
单片机原理及应用试题 浏览:423
易语言开启指定文件夹 浏览:38
马思纯参加密室大逃脱 浏览:319
文件夹冬季浇筑温度 浏览:710
京东有返点的aPp叫什么 浏览:601
如何查看u点家庭服务器是几兆 浏览:262
python应用接口怎么接 浏览:67
腐蚀怎么进不去服务器啊 浏览:359
linuxcpiogz 浏览:630
安卓中的布局是什么文件 浏览:397
dex反编译部分代码无法查看 浏览:463
linuxandroid编译 浏览:603
程序员电视剧20集 浏览:910
怎么扩建文件夹 浏览:160
波普诺社会学pdf 浏览:98