转载自:
http://xieyongqiu-163-com.iteye.com/blog/438032
Java作为一门编程语言,最好的学习方法就是写代码。当你学习一个类以后,你就可以自己写个简单的例子程序来运行一下,看看有什么结果,然后再多调用几个类的方法,看看运行结果,这样非常直观的把类给学会了,而且记忆非常深刻。然后不应该满足把代码调通,你应该想想看如果我不这样写,换个方式,再试试行不行。记得哪个高人说过学习编程就是个破坏的过程,把书上的例子,自己学习Documentation编写的例子在运行通过以后,不断的尝试着用不同的方法实现,不断的尝试破坏代码的结构,看看它会有什么结果。通过这样的方式,你会很彻底的很精通的掌握Java。举个例子,我们都编过Hello World这个程序。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
很多初学者不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?包括我刚学习Java的时候也有这样的疑问。想知道答案吗?很简单,你把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;把main的public取掉,在试试看,报什么错误;static去掉还能不能运行;不知道main方法是否一定要传一个String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。我当初学习Java的时候就是这样做的,把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么main方法是这样定义的了。
此外,我对于static,public,private,Exception,try{ }catch {}finally{}等等一开始都不是很懂,都是把参考书上面的例子运行成功,然后就开始破坏它,不断的根据自己心里面的疑问来重新改写程序,看看能不能运行,运行出来是个什么样子,是否可以得到预期的结果。这样虽然比较费时间,不过一个例子程序这样反复破坏几次之后。我就对这个相关的知识彻底学通了。有时候甚至故意写一些错误的代码来运行,看看能否得到预期的运行错误。这样对于编程的掌握是及其深刻的。其中特别值得一提的是JDK有一个非常棒的调试功能-verbose。
java –verbose
javac –verbose 以及其它很多JDK工具都有这个选项
-verbose 可以显示在命令执行的过程中,JVM都依次加载哪里Class,通过这些宝贵的调试信息,可以帮助我们分析出JVM在执行的过程中都干了些什么。另外,自己在学习过程中,写的很多的这种破坏例程,应该有意识的分门别类的保存下来,在工作中积累的典型例程也应该定期整理,日积月累,自己就有了一个代码库了。遇到类似的问题,到代码库里面 Copy & Paste ,Search & Replace,就好了,极大提高了开发速度。最理想的情况是把一些通用的例程自己再抽象一层,形成一个通用的类库,封装好。那么可复用性就更强了。所以我觉得其实不是特别需要例程的,自己写的破坏例程就是最好的例子,如果你实在对自己写的代码不放心的话,我强烈推荐你看看JDK基础类库的Java源代码。在JDK安装目录下面会有一个src.zip,解开来就可以完整的看到整个JDK基础类库,也就是rt.jar的Java源代码,你可以参考一下Sun是怎么写Java程序的,规范是什么样子的。我自己在学习Java的类库的时候,当有些地方理解的不是很清楚的时候,或者想更加清晰的理解运作的细节的时候,往往会打开相应的类的源代码,通过看源代码,所有的问题都会一扫而空。
以上就是我给大家介绍的java学习方法。这个方法我用了感觉十分有效,不信你就试试吧!
分享到:
相关推荐
这些源代码示例提供了清晰的实现,便于学习和实践。通过阅读和运行这些代码,开发者不仅可以理解设计模式的基本概念,还能了解如何在实际项目中灵活运用它们,提高代码的可读性、可维护性和复用性。
本项目“基于J2ME的Java游戏梦幻炸弹人源程序”为我们提供了一个深入了解J2ME游戏编程的机会。 《梦幻炸弹人》是一款经典的街机游戏,玩家控制角色在迷宫般的地图中放置炸弹,以消灭敌人和破坏环境障碍。将这款游戏...
《疯狂Java讲义(第3版)》是Java学习领域一本知名的教材,专注于深度解析Java编程语言。这个源代码包包含的是书中所讲解的实例和练习,旨在帮助读者更好地理解和应用书中讲述的知识点。源代码独立于任何特定的集成...
通过阅读源代码,你可以学习到如何有效地组织和编写Java程序,以及如何利用Eclipse的各种工具进行代码调试和性能分析。 Eclipse还提供了代码自动完成(Code Completion)和代码分析(Code Analysis)功能,帮助你...
通过阅读和分析这些源代码,可以深入了解实际项目中Java方法的使用方式,学习如何组织代码、优化性能、处理异常等实践技巧。同时,也可以借此机会学习如何运用上述理论知识去理解和解析实际的Java应用程序。
"Java 源代码"这一标签表明了这些文件是未经过编译的原始代码,学习者可以通过阅读和运行这些代码来加深对Java语言的理解。 压缩包内的"v1"文件可能是一个版本号,这暗示了可能还有其他版本的例题程序,比如更新或...
本文将深入探讨一种独特的学习方法——“破坏源程序”,这种方法主张通过不断尝试修改和打破现有的代码规则来加深对Java语言的理解。 #### 二、学习原理 **破坏源程序**的学习方法基于以下原理: 1. **创新与探索*...
对于学习Java反射,阅读和理解相关的源代码是非常有益的。你可以从Java标准库的`java.lang.reflect`包开始,研究Class、Constructor、Method和Field类的实现。通过阅读源码,可以更深入地理解反射的工作原理,提升...
在Java编程领域,设计模式是一种经过验证的解决特定软件设计问题的最佳实践方法。这个压缩包包含了一个用Java实现的设计模式演示程序,它旨在通过实际的GUI应用帮助开发者理解和掌握这22种不同的设计模式。设计模式...
- **java/javaw**:运行Java程序,加载类到JVM,执行main方法。 8. **Java程序类型**: - **Application Program**:独立运行的本地应用程序。 - **Applet Program**:嵌入HTML网页,由浏览器中的Java插件运行。...
Java反射是Java编程语言中的一个强大工具,它允许程序在运行时检查并操作类、接口、字段和方法的信息。在Java中,反射是通过java.lang.reflect包提供的类和接口实现的,这些工具允许我们动态地访问类的私有成员、...
再者,Java 8还引入了默认方法,这是在接口中定义带有实现的方法,允许在不破坏向后兼容性的前提下扩展接口功能。例如,`java.util.Collection`接口的`forEach`方法就是一个默认方法: ```java public interface ...
【标题】"猫影视源代码JAVA开源 Andriod Studio 源代码工程文件 有能力可自行二开"指的是一个基于Java编程语言开发的Android应用程序——猫影视的源代码项目。这个开源项目允许开发者查看、学习甚至修改源代码,以...
Java编程实验报告旨在帮助初学者深入理解Java编程语言的基础与高级概念。实验1涉及Java代码风格和命名约定,这是编写可读性好、易于维护的代码的关键。在提供的代码示例中,可以看到原始代码被修改以遵循良好的编程...
总的来说,Java学习的关键在于实践、探索、反思和不断迭代。通过动手编码、破坏与重构,以及利用各种在线资源,初学者可以逐步精通Java编程。同时,建立个人代码库,研究开源代码,能加速学习进程,提升编程技能。
4. **运行时数据区**:包括堆、栈、方法区、程序计数器和本地方法栈,它们各自的作用和内存管理策略。 5. **垃圾收集**:Java内存管理的重要部分,包括新生代、老年代、分代收集、标记-清除、复制、标记-整理、压缩...
在接口中,Java 8允许定义带有实现的默认方法,这使得接口在不破坏向后兼容性的前提下,可以增加新的功能。 6. **方法引用(Method References)** 方法引用是Lambda表达式的补充,它可以简化代码,将方法的引用...
通过学习《Java 8编程参考官方教程(第9版)》的源代码,读者不仅可以了解上述知识点,还能通过实际操作加深理解,提升编程技能。这些源代码涵盖了大量示例,涵盖了从基础到高级的Java 8特性的应用,是学习和实践...
1. **javac**:Java编译器,将源代码编译成字节码,使得Java程序能在任何支持JVM的平台上运行。 2. **jar**:用于创建和管理Java归档(JAR)文件,这些文件可以包含多个类文件、相关的元数据和资源文件。 3. **...
### 逐步深入的Java学习笔记知识点总结 #### 一、Java环境配置 1. **JAVA_HOME**: 配置JDK的目录。这是Java环境的基本配置之一,用于指示系统JDK安装的位置。 - **Linux系统**: ```bash JAVA_HOME=/opt/jdk1.5.0...