I personally experience, learn Java should be divided into the following stages:
Java's grammar learning
Object-oriented concept
Java basic class library learning
Learning design pattern
Application design mode
After a lot of practice, you can design a model
The above six phases, where the top three stages are for Java, but in Java, in many design patterns, there are many features support design patterns, so people who don't understand design patterns will not apply Java. Java Do develop. On the basis of study, learning, application, successful experience in the first three phases of learning. Thus, enter the sixth phase, playing in software design. I am limited by the ability, and the learning process in the 4th phase, so it will be explained in the first four stages. The fifth, six stages is just in the inferoration of my own knowledge, there is no experience that I have not explained.
I will talk about my learning method before explaining these learning phases. I usually study the theoretical learning of the following three phases when learning new knowledge. Through the learning of theory, try to understand the concept of new knowledge; after learning, it is just a rough understanding of concept, can't be combined with practical.
Deductive stage. According to the knowledge of theoretical learning, consider what this new knowledge can be applied, which places have applied this concept to establish the sensibility of new knowledge.
The induction phase. Understand theory from a deeper level.
The following describes my experience according to Java's six learning phases, and every stage will be discussed in three small stages in accordance with theoretical learning, interpretation and summarization.
Java grammar learning
The theoretical learning phase of grammar learning is the easiest stage. It is the Java grammar, and it is possible to read it, mainly to understand the following: (1) Data type, mainly understood: (1) Data type, (2) Operators, (3) control flow, (4) class and classes, (5) packets and interfaces, (6) abnormal operations.
In theoretical learning phase, it is not necessary to pay too much attention to details. As long as there is a holistic understanding of Java's basic syntax, you can read the source code of the example.
The next step is the interpretation phase, the syntax knowledge learned, writing simple procedures. It is best to use your own memory to use the grammatical points (write code is best to use notepad), to re-read the syntax you are not familiar with, and use the compiler to check the syntax error. The goal of this stage is to get from books and Java
The API can write a simple program, reading a Java source code can tell the execution result.
Complete this stage of learning, participate in the SCJP exam, you should get a higher grade.
On the basis of the interpretation stage, according to the mistakes you have made, I summarize the difficulties of Java. Re-reading the grammar, reintegration of some of themselves not very clear, then your understanding of Java grammar is deeper than the first reading.
When I first started learning Java, just roughly see the syntax book, I started to make a program, I will re-read the grammar book, which, it can be a qualified programmer, but when I become Team
When Leader, in order to train the team member Java programming, we found yourself from Java Syntax and Java.
API, there will be no more (Java integrated development tool has a prompt function), in order to train, I re-learned a Java grammar again, very harvest.
In fact, an excellent programmer must not only write a good procedure, but more importantly, the procedure written can be clear:
(1) Say the functionality of the program (2) to clear the structure of the program. And the basis of the structure of the program is to be familiar with the syntax of Java. I want to become an excellent programmer, be sure to practice, constantly, constantly summarize, and finally out of the syntax book, clear the Java grammar system. I have interviewed some Java programmers, and I'm going to use which classes are often used in using Java, in which package. Few people can answer, and even some people have done a 2-year Java program without answering, they will use Java, but must rely on tools (refer to Java integration tool), I think they can write out programs, but can not write special So worker.
I think as a Java programmer must master the two packages of the Java class library: java.lang and java.util these two packages. The java.lang package is provided by the basic class package for Java programming.
What is the difference between the two classes of StringBuffer, there should be many Java programmers can't say it. In addition, the two classes of Vector and Hashmap are in use, how many people can make it clear which classes have inherited, which interfaces have been implemented?
Theoretical learning. Read Java carefully
The following API's: java.lang package String, StringBuffer, Number, Double, Float, Byte, Short, Integer, Long, Character, Boolean, Process, Runtime, System, Object, Cloneable, Class, ClassLoader, Thread, ThreadGroup , Runnable, Package or interface. java.util package Collection, list, Set, ArrayList, LinkedList, Hashset, TreeSet, Iterator, Map, SortedMap, HashMap, TreeMap, Comparator, Arrays, Enumeration, Vector, Stack, Dictionary, Hashtable, Properties, StringTokenizer, BitSet, Date, Calendar, Locale, Random, Observer, Observable class, and interface. The main reason for the inheritance relationship between these or interfaces, the main function.
Deductive stage. These classes and interfaces are learned and applied by reading code, practice programming, learning and applying. In fact, most of these classes are often used, nothing more than these classes and interfaces are unclear. In these classes, the classes in java.lang and java.util are best exercised using each method. COLLECTIONS in java.util package
The class in Framework, it is best to clear the relationship between the various classes and interfaces.