《JAVA外文翻译-一切皆是对象(适用于毕业论文外文翻译+中英文对照)》由会员分享,可在线阅读,更多相关《JAVA外文翻译-一切皆是对象(适用于毕业论文外文翻译+中英文对照)(10页珍藏版)》请在金锄头文库上搜索。
1、英文原文 Everything is an ObjectAlthough it is based on C+, Java is more of a “pure” object-oriented language.Both C+ and Java are hybrid languages, but in Java the designers felt that the hybridization was not as important as it was in C+. A hybrid language allows multiple programming styles; the reaso
2、n C+ is hybrid is to support backward compatibility with the C language. Because C+ is a superset of the C language, it includes many of that languages undesirable features, which can make some aspects of C+ overly complicated. The Java language assumes that you want to do only object-oriented progr
3、amming. This means that before you can begin you must shift your mindset into an object-oriented world (unless its already there). The benefit of this initial effort is the ability to program in a language that is simpler to learn and to use than many other OOP languages. Alown well see the basic co
4、mponents of a Java program and well learn that everything in Java is an object, even a Java program. You manipulate objects with references Each programming language has its own means of manipulating data. Sometimes the programmer must be constantly aware of what type of manipulation is going on. Ar
5、e you manipulating the object directly, or are you dealing with some kind of indirect representation (a pointer in C or C+) that must be treated with a special syntax? All this is simplified in Java. You treat everything as an object, using a single consistent syntax. Although you treat everything a
6、s an object, the identifier you manipulate is actually a “reference” to an object.10 You might imagine this scene as a television (the object) with your remote control (the reference). As long as youre holding this reference, you have a connection to the television, but when someone says “change the
7、 channel” or “lower the volume,” what youre manipulating is the reference, which in turn modifies the object. If you want to move around the room land still control the television, you take the remote/reference with you, not the television. Also, the remote control can stand on its own, with no tele
8、vision. That is, just because you have a reference doesnt mean theres necessarily an object connected to it. So if you want to hold a word or sentence, you create a String reference: String s;But here youve created only the reference, not an object. If you decided to send a message to s at this poin
9、t, youll get an error (at run time) because s isnt actually attached to anything (theres no television). A safer practice, then, is always to initialize a reference when you create it: String s = “asdf“;However, this uses a special Java feature: strings can be initialized with quoted text. Normally,
10、 you must use a more general type of initialization for objects. You must create all the objectsWhen you create a reference, you want to connect it with a new object. You do so, in general, with the new keyword. The keyword new says, “Make me a new one of these objects.” So in the preceding example,
11、 you can say: String s = new String(“asdf“);Not only does this mean “Make me a new String,” but it also gives information about how to make the String by supplying an initial character string. Of course, String is not the only type that exists. Java comes with a plethora of ready-made types. Whats m
12、ore important is that you can create your own types. In fact, thats the fundamental activity in Java programming, and its what youll be learning about in the rest of this book. Its useful to visualize some aspects of how things are laid out while the program is runningin particular how memory is arr
13、anged. There are six different places to store data: Registers. This is the fastest storage because it exists in a place different from that of other storage: inside the processor. However, the number of registers is severely limited, so registers are allocated by the compiler according to its needs
14、. You ldont have direct control, nor do you see any evidence in your programs that registers even exist. The stack. This lives in the general random-access memory (RAM) area, but has direct support from the processor via its stack pointer. The stack pointer is moved down to create new memory and mov
15、ed up to release that memory. This is an extremely fast and efficient way to allocate storage, second only to registers. The Java compiler must know, while it is creating the program, the exact size and lifetime of all the data that is stored on the stack, because it must generate the code to move t
16、he stack pointer up and down. This constraint places limits on the flexibility of your programs, so while some Java storage exists on the stackin particular, object referencesJava objects themselves are not placed on the stack. The heap. This is a general-purpose pool of memory (also in the RAM area) where all Java objects live. The nice thing about the heap is that, unlike the stack, the compiler doesnt need to know how much storage it needs to allocate from the h