1、外文原文 Introduction to Java autor:Martin Ngobye. source:Computing Static Slice for Java Programs Java is designed to meet the challenges of application development in the context of heterogeneous, network-wide distributed environments. Paramount among these challenges is secure delivery of appli
2、cations that consume the minimum of system resources, can run on any hardware and software platform, and can be extended dynamically. Java originated as part of a research project to develop advanced software for a wide variety of network devices and embedded systems. The goal was to develop a smal
3、l, reliable, portable, distributed, real-time operating platform. When the project started, C++ was the language of choice. But over time the difficulties encountered with C++ grew to the point where the problems could best be addressed by creating an entirely new language platform. Design and archi
4、tecture decisions drew from a variety of languages such as Eiffel, SmallTalk, Objective C, and Cedar/Mesa. The result is a language platform that has proven ideal for developing secure, distributed, network based end-user applications in environments ranging from network-embedded devices to the Worl
5、d-Wide Web and the desktop. The design requirements of Java are driven by the nature of the computing environments in which software must be deployed. The massive growth of the Internet and the World-Wide Web leads us to a completely new way of looking at development and distribution of software.
6、To live in the world of electronic commerce and distribution, Java must enable the development of secure, high performance, and highly robust applications on multiple platforms in heterogeneous, distributed networks. Operating on multiple platforms in heterogeneous networks invalidates the traditio
7、nal schemes of binary distribution, release, upgrade, patch, and so on. To survive in this jungle, Java must be architecture neutral, portable, and dynamically adaptable. The Java system that emerged to meet these needs is simple, so it can be easily programmed by most developers; familiar, so that
8、 current developers can easily learn Java; object oriented, to take advantage of modern software development methodologies and to fit into distributed client-server applications; multithreaded, for high performance in applications that need to perform multiple concurrent activities, such as multimed
9、ia; and interpreted, for maximum portability and dynamic capabilities. Together, the above requirements comprise quite a collection of buzzwords, so let’s examine some of them and their respective benefits before going on. What’s completely new is the manner in which Java and its run-time system h
10、ave combined them to produce a flexible and powerful programming system.. Developing your applications using Java results in software that is portable across multiple machine architectures, operating systems, and graphical user interfaces, secure, and high performance, With Java, your job as a soft
11、ware developer is much easier—you focus your full attention on the end goal of shipping innovative products on time, based on the solid foundation of Java. The better way to develop software is here, now, brought to you by the Java language platform. Very dynamic languages like Lisp, TCL, and Small
12、Talk are often used for prototyping. One of the reasons for their success at this is that they are very robust—you don’t have to worry about freeing or corrupting memory. Similarly, programmers can be relatively fearless about dealing with memory when programming in Java, The garbage collection sys
13、tem makes the programmer’s job vastly easier; with the burden of memory management taken off the programmer’s shoulders, storage allocation errors go away. Another reason commonly given that languages like Lisp, TCL, and SmallTalk are good for prototyping is that they don’t require you to pin down d
14、ecisions early on—these languages are semantically rich. Java has exactly the opposite property: it forces you to make explicit choices. Along with these choices come a lot of assistance—you can write method invocations and, if you get something wrong, you get told about it at compile time. You don
15、’t have to worry about method invocation error. The Java beginner must grasp 30 basic concepts Basic concept 1.In OOP the only relations is what the object’s interface, such as the computer seller he leaves alone internal structure of electrical source, but he is only concerned about that whethe
16、r the power will be supplied to you, also so long as know can or not but is not how and why.All procedures are make up of certain attribute and the behavior object, the different object visit invokes through the function invocation, between the object all intercommunion are invoke through the method
17、 invocation, By object data encapsulation, enhances reuse rate very much.. 2.In OOP the most important thought is class, the class is the template ,is a blueprint, construct an object from a class, namely construct an instance of the class. 3. Encapsulation: is that combines the data and the behav
18、ior in a package) and hides the data the realization process to the object user, in an object data is called its instance field. 4.Through expands a class to obtain a new class is called inheritance, but all classes are constructed by the object super root class of expansion, super root class of
19、as follows can make the introduction. 5.Object 3 principal characteristics Behavior--- explained this object can make what. Tate--- when the object exerts the method object reflection. Dentity--- and other similar behavior objects discrimination symbols. Each object has only indentity
20、 and among three characteristics they affect mutually. 6. Relations among classes: Use-a:Dependent relation Has-a:Polymerization relation Is-a: inheritor relation -- example:A class has inherited B class, this time A class not only has B class of method, but also has its own method(Indiv
21、iduality exists in general character) 7.Structure object use structure:Structure proposing, the structure is one special method, the structure object and to its initialization. Example:A Data class of structure calls Data New Data () --- structure a new object, also initialize current time.
22、 Data happyday=new Data () --- an object evaluates an variable happyday, thus enables this object to be used many times, here be stated the cause variable and the object variable are different. New returns the value is a quotation. Constructor characteristic:The constructor may have 0, one
23、or many parameters The constructor and the class have the same name A class may have many constructor. The constructor has not returned value The constructor always be together used with the new operator 8. Over loading: When many methods have the same name when includes the different
24、 parameter, then has the over loading Which method does the compiler have to choose invokes. 9.Package : Java allow one or many classes to become together as group, is called package, to organizing duty easily, the standard Java storehouse divides into many packages Java.Lang java.Util java, net
25、and so on, the package is layered and all java packages are in java and in a javax package. 10. Extendable thought: permit to construct new class on existing classes , when you extend the class which already existed, then you reuse this class of method and the field, at the same time you might ad
26、d the new method and the field in the new class. 11.Expandable class:The expandable class fully manifested is-a to extend the relations The form is:Class (subclass) extends (base class). 12. Multi-modality: In java, the object variable is multi-modality But in java does not support multiple
27、extend. 13.Dynamic combine: the mechanism of invoking object method mechanism. 1) compiler examines object statement type and method name. 2) the compiler examines that method invokes parameter type. 3) static combine: If the method type is priavte static the final ,compiler can accura
28、tely know which method should invoke. 4) when the procedure runs and uses dynamic combine to invoke a method, the method edition which then hypothesized machine must invoke x the object actual type which aims at to match. 5) dynamic combine: is a very important characteristic, it can cause t
29、he procedure to change again may expand but does not need to translate has saved the code. 14.Final class:In order to prevent other people derive the new class from yours class, this class is cannot expanded. 15.The dynamic invocation spend longer time than the static invocation expenditure.
30、 16.Abstract class:Stipulated or many abstract methods class of itself must define is abstract. Example: Public abstract string getDescripition 17.In Java each class is be extended by object class. 18. equal and toString method in object class . Equal uses in testing an object is whether e
31、qual with another object. ToString returns to represent this object the string of character, each class can nearly over loading this method, in order to returns to the current condition the correct expression. (The toString method is a very important method) 19.General programming:Any class
32、 of type all values all may replace with a object class of variable. 20.The array tabulates: The ArrayList dynamic array tabulates, is a class of storehouse, defines in java.In uitl package, but automatic control array size. 21.in class and class of object ,getclass method returns to the
33、class type an example, when the procedure start contains can increase in the main method class, hypothesized confidential increase all classes which he needs, each increase class all must increase the class which it needs. 22.The class: class might dynamic operate the java code for the compilatio
34、n the procedure to provide the formidable function reflection, this function was JavaBeans is specially useful, the use reflected Java to be able to support the VB programmer to be familiar with the use the tool. procedure of analysis class ability is called the reflector, in Java to provide this
35、 function the package to call Java.Lang.The reflect reflection mechanism is extremely formidable. 1) when run analysis class ability. 2) when run searches observes a class of object. 3) realizes the general array operation code. 4) provides the method object. But this mechanism mainly
36、 aims at the tool but not the application and the procedure. In the reflection mechanism most important part is that permits class that you inspect structure. With to API includes: Java.Lang.Reflect.Field returns to the field. Java.Reflect.Method returns to the method. Java.Lang.Reflec
37、t.Constructor returns to the parameter. Method pointer: Java does not have the method pointer, makes a method address another method, may invoke it in behind, but the interface is the better solution. 23. interface: should showing class could do what but not to assign how to do, a class may
38、realize one or many interfaces. 24.The interface is not a class, but is to conforms to a interface request class of set of standard. If realizes a interface to need 2 steps: 1) the statement class needs to realize assigns the interface. 2) provides in the interface all methods definition
39、 Stated a class realizes a interface to need to use the implements key words Class actionB implements Comparable its actionb needs to provide the CompareTo method, the interface is not the class, cannot use a new example interface. 25.A class only then a super class, but a class can realiz
40、e many interfaces. In a Java important interface: Cloneable 26.The interface and call-back :to programs a commonly used pattern is call-back,in the pattern, you may refer when this class of pattern settled specific time occurs returns to adjusts on the object the method. Example:ActionListener
41、 interface monitor. Similar API includes: Java.Swing.JOptionPane Java.Swing.Timer Java.Awt.Tookit 27.Object clone:The clone method is a object protection method, this meant your code cannot simple invoke it. 28.Inner class an inner class definition is the definition in another clas
42、s. The reason is: 1) an inner class object can visit founds its object realization, including private data. 2) about other classes in the same package in that, inner class can be hided. 3) the anonymous inner class may the very convenient definition accent. In 4) uses the category t
43、o be possible the extremely convenient compilation event driver. 29.Agent class (proxy): 1) appointing all codes that interfaces request 2) all methods (toString equals) that object class define 30.Data type:Java is kind of emphasizing type language, each variable all must be declared it
44、s types at first, in java altogether has 8 basic types . four kinds are the long, two kinds are the float, one is the char, being used in the Unicode code char, Boolean. 1. java is simple Java and C + + are very similar, but much simpler. All the high-level programming language features, is no
45、t absolutely necessary have been deleted. For example, Java does not overload operator, the title of the document, pre-processing, computing pointer, the structure of the joint, multi-dimensional array, templates and implicit type conversion. If you know a little C, C + + or Pascal, you will soon
46、master Java. Here is a simple procedure JavaHelloWorld: publicclassHelloInternet ( publicstaticvoidmain (Stringargv []) ( System. out. println ( "HelloIn-ternet!") ) ) 2. Java is object-oriented Java is an object-oriented programming language. In addition to the simple types
47、 such as digital and Boolean operators in addition, Java is an object of most. As with any object-oriented languages, Java code also organized by category. Each category provides a definition of the object behavior. Another type of succession can be a kind of behavior. In the category of the ro
48、ot level, often the target category. Java support for the single type of inherited hierarchy. This means that each category can only inherit one other category. Some of the language to allow multiple inheritance, but it may cause confusion and unnecessarily complicated language. For example, ima
49、gine that an object would inherit two completely different category. Java also supports the kind of summary of the interface. This allows programmers to define the interface methods, and do not have to rush immediately to determine the methods to achieve. A type of interface can be a number of pu
50、rposes in order to truly multi-inheritance of a number of advantages. The implementation of an object can be any number of interfaces. IDL interface and Java interface very similar. Very easy to set up IDLJ compiler. In other words, Java can be used to create a CORBA object system distributed ob






