频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
移动开发中反射常用的三种创建方式
2018-06-28 11:36:31      个评论    来源:weixin_41657883的博客  
收藏   我要投稿

都以Foo为类名举例表示实例对象的方式:类名 表示名=new 类名();//Foo的实例对象如何表示。

Foo foo1 = new Foo();

任何一个类都是Class的实例对象,这个实例对象有三种表示方式:任何一个类都有一个隐含的静态成员变量class第一种表示方式:

Class c1=Foo.class;

注意Class要大写C第二种表达方式:已经知道该类的对象通过getClass方法

Class c2 = foo1.getClass();

//c1 ,c2 表示了Foo类的类类型(class type)

第三中表达方式:

Class c3=null;

try

{

c3=Class.forName("Foo的相对路径");

}

catch (Exception e)

{

e.printStackTrace();

}

//可以使用newInstance方法创建Foo的实例对象

try

{

Foo foo=(Foo)c1.newInstance();

//(Foo)Foo是Foo的接口

foo.print();

}catch (Exception e){e.printStackTrace();

}

通过Foo的接口来找到Foo的类类型

然后通过newInstance()方法来初始化一个类

生成一个实例对象。

使用newInstance方法时必须保证:这个类已经加载

这个类已经连接了。完成这俩步的正是class的静态方法forName()方法

这个方法调用了启动类加载器(java api的加载器)

动态加载类

try{

Class c=class.forName(args[0]);

类名 表示名 =(接口)c.newInstance();

表示名.方法();

}catch(Exception e){e.printStrckTrace}

点击复制链接 与好友分享!回本站首页
上一篇:PullToRefreshGridView的简单使用
下一篇:移动开发与H5交互的研究
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站