仓酷云
标题:
了解下JAVA的经由过程反射机关外部类对象
[打印本页]
作者:
深爱那片海
时间:
2015-1-18 11:12
标题:
了解下JAVA的经由过程反射机关外部类对象
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,
起首在javalang包下写一个包括外部类的类:
packagejavalang;
publicclassOuter{
publicstaticclassInner1{}
}
注重这个类是publicstatic,前面我们渐渐把这些润色符往失落。
要想经由过程反射来创立Inner1对象,起首要取得Inner1的Class对象。我们在Outer中写上main办法:
publicclassOuter{
publicstaticclassInner1{}
publicstaticvoidmain(String[]args){
System.out.println(Inner1.class);
}
}
输入了局:classjavalang.Outer$Inner1
然后我们试一下这个类名对不合错误:
publicstaticvoidmain(String[]args)throwsException{
System.out.println(Class.forName("javalang.Outer$Inner1"));
}
运转一下,没错。然后就是用它来创立对象。创立对象要靠机关办法。这个类有无机关办法呢?我们能够这么写:
publicstaticvoidmain(String[]args)throwsException{
System.out.println(Class.forName("javalang.Outer$Inner1").getConstructors().length);
}
运转一下,输入1。看来有。然后看看这个机关办法是甚么模样的:
publicstaticvoidmain(String[]args)throwsException{
System.out.println(Class.forName("javalang.Outer$Inner1").getConstructors()[0]);
}
输入了局:publicjavalang.Outer$Inner1()。这就是缺省机关办法嘛。以是我们可以如许写:
publicstaticvoidmain(String[]args)throwsException{
System.out.println(Class.forName("javalang.Outer$Inner1")
.getConstructors()[0].newInstance();
}
输入了局:javalang.Outer$Inner1@ca0b6。这申明实行乐成了。
接上去我们把Inner的public关头字往失落,然后再运转。了局报错了:Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:0
这申明没有找到机关办法。真的没有吗?我们把main办法改返来:
publicstaticvoidmain(String[]args)throwsException{
System.out.println(Class.forName("javalang.Outer$Inner1")
.getConstructors().length);
}
<p>
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
作者:
金色的骷髅
时间:
2015-1-20 17:06
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者:
老尸
时间:
2015-1-29 13:16
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
乐观
时间:
2015-2-5 08:36
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者:
柔情似水
时间:
2015-2-11 08:12
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
作者:
小魔女
时间:
2015-2-28 14:43
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者:
山那边是海
时间:
2015-3-4 05:13
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者:
仓酷云
时间:
2015-3-7 14:48
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者:
再见西城
时间:
2015-3-10 21:50
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者:
莫相离
时间:
2015-3-11 22:47
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
小妖女
时间:
2015-3-19 15:13
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者:
灵魂腐蚀
时间:
2015-3-28 16:25
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2