In my personal experience, learning Java should be divided into the following stages:
Syntax learning in Java
The establishment of object-oriented concept
Java Basic Class Library learning
Learning Design Patterns
Applying Design Patterns
After a lot of practice, you can design patterns
The above six stages, of which the first three phases are for Java, but in Java, in many design patterns of applications, while many features support design patterns, so people who do not know the design pattern is not very good application of Java to do development. 4th, 5 Stages of learning in the first three stages based on learning and application of successful experience. To enter the sixth phase, in the field of software design to play. I am limited by the ability, still in the 4th phase of the learning process, so the first four stages of the description. The fifth to sixth stage is just the inference I make based on my own knowledge, and I have no experience to explain it.
Before I explain these stages of learning, let me say a few words about my learning methods. In learning new knowledge, I usually follow the following three stages of learning theory. Through the study of theory, try to understand the concept of new knowledge, after learning only rough understanding of concepts, not with the actual good combination.
Deductive phase. Based on the knowledge of the theory, consider the circumstances under which this new knowledge can be applied, where the concept has been applied, and the perceptual knowledge of the new learning is established.
Induction stage. Understand the theory from a deeper level.
The following six learning stages of Java illustrate my experience, and each phase will be based on theoretical learning, deduction and induction of three small stages of discussion.
The study of Java grammar
The theoretical study stage of grammar learning is the easiest stage, more than 70% of the Java book is mainly about Java syntax, buy a book, read through it, mainly understand the following: (1) data type, (2) operator, (3) control flow, (4) Class and Class regeneration, (5) Package and interface, (6) Abnormal operation.
In the theoretical learning phase, do not pay attention to the details, as long as the basic Java Grammar has a holistic understanding, can read the sample source code can be.
The next step is the deductive phase, the application of the grammar knowledge to write a simple program. It is best to rely on their own memory, the grammar points are used again (write code best use Notepad), unfamiliar to their own grammar to re-read, with the compiler to check syntax errors. The goal at this stage is to break out of the books and Java
The API can write a simple program, read a Java source code to say the execution result.
The completion of this stage of study, to participate in SCJP examination, should be achieved higher results.
On the basis of the deduction stage, according to their own mistakes, summed up the Java difficulties. Re-read the grammar book and rearrange the concepts that are not clear to you, and your understanding of Java syntax is deeper than when you first read it.
When I first started to learn Java, just a cursory look at the grammar book, began to edit the program, encountered do not understand to read the grammar book, so that can become a qualified programmer, but when I become a team
Leader, in order to train the team of Java programming, but found himself out of the Java Grammar book and Java
API, unexpectedly will not many (Java Integrated development tool has the hint function), for the training, I have again learned Java syntax, very rewarding.
In fact, a good programmer, not only to write a good program, more importantly, the written procedures can be said clearly:
(1) Clarify the function of the program (2) to explain the structure of the program. The basis of the structure of the program is to be familiar with Java syntax. Want to be a good programmer, must be on the basis of learning grammar, continuous practice, and constantly summed up, eventually can be divorced from the grammar book, the Java Grammar System explained clearly.
Once interviewed some Java programmers, my topic is in the use of Java, often used in which classes, in which package. Few people can answer well, even someone did 2 years of Java programs did not answer, they will use Java, but must rely on tools (refers to Java integration tools), I think they can write a program, but can not write a particularly good program.
I think as a Java programmer you have to master two packages of Java class libraries: Java.lang and Java.util. Java.lang Package provides Java programming to use the basic class package, Java programmers use every day, nothing more than to see how others use, how they use, but very few people to sum up, such as String
What is the difference between these two classes and stringbuffer, there should be a lot of Java programmers can't say. In addition, vector and hashmap These two classes are all used, how many people can say that vector and HashMap inherited which classes, what interface is implemented.
Theoretical study. Read Java carefully
The following contents of the API: string in Java.lang package, stringbuffer,number,double,float,byte,short,integer,long,character,boolean,process , Runtime,system,object,cloneable,class,classloader,thread,threadgroup,runnable,package class or interface. The Collection,list,set,arraylist,linkedlist,hashset,treeset,iterator,map,sortedmap,hashmap,treemap,comparator,ar in the Java.util package Rays,enumeration,vector,stack,dictionary,hashtable,properties,stringtokenizer,bitset,date,calendar,locale, Random,observer,observable classes and interfaces. The main rationale for these classes or interfaces of the inheritance relationship, the main functions.
Deductive phase. By reading the Code, practice programming, learning and applying these classes and interfaces. In fact, most of these classes are often used, but they are not clear about these classes and interfaces. In these classes, it is a good practice to use each method once for the classes in Java.lang and java.util packages. And the collections in the Java.util package
The class in the framework, it is best to clarify the relationship between the various classes and interfaces.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.