仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 502|回复: 11
打印 上一主题 下一主题

[学习教程] 了解下JAVA的经由过程反射机关外部类对象

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但是对于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:24 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
老尸 该用户已被删除
板凳
发表于 2015-1-29 13:16:02 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
乐观 该用户已被删除
地板
发表于 2015-2-5 08:36:36 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
柔情似水 该用户已被删除
5#
发表于 2015-2-11 08:12:25 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
小魔女 该用户已被删除
6#
发表于 2015-2-28 14:43:18 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
山那边是海 该用户已被删除
7#
发表于 2015-3-4 05:13:16 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
8#
发表于 2015-3-7 14:48:45 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
再见西城 该用户已被删除
9#
发表于 2015-3-10 21:50:25 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
莫相离 该用户已被删除
10#
发表于 2015-3-11 22:47:48 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小妖女 该用户已被删除
11#
发表于 2015-3-19 15:13:48 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
灵魂腐蚀 该用户已被删除
12#
发表于 2015-3-28 16:25:23 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 16:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表