Author(s): Cay S. Horstmann
Series: Core java Volume 1 -- Fundamentals 11th ed.
Publisher: Prentice Hall
Year: 2018
Language: English
Pages: 2617
Tags: Java Programming Cay Horstmann Fundamentals Core
About This E-Book......Page 2
Title Page......Page 3
Copyright Page......Page 4
Contents......Page 5
Preface......Page 19
Acknowledgments......Page 26
Chapter 1: An Introduction to Java......Page 28
1.1 Java as a Programming Platform......Page 29
1.2 The Java “White Paper” Buzzwords......Page 30
1.3 Java Applets and the Internet......Page 37
1.4 A Short History of Java......Page 38
1.5 Common Misconceptions about Java......Page 42
Chapter 2: The Java Programming Environment......Page 46
2.1 Installing the Java Development Kit......Page 47
2.2 Using the Command-Line Tools......Page 54
2.3 Using an Integrated Development Environment......Page 60
2.4 JShell......Page 64
Chapter 3: Fundamental Programming Structures in Java......Page 68
3.1 A Simple Java Program......Page 69
3.2 Comments......Page 74
3.3 Data Types......Page 75
3.4 Variables and Constants......Page 82
3.5 Operators......Page 87
3.6 Strings......Page 99
3.7 Input and Output......Page 117
3.8 Control Flow......Page 130
3.9 Big Numbers......Page 154
3.10 Arrays......Page 157
Chapter 4: Objects and Classes......Page 177
4.1 Introduction to Object-Oriented Programming......Page 178
4.2 Using Predefined Classes......Page 185
4.3 Defining Your Own Classes......Page 197
4.4 Static Fields and Methods......Page 213
4.5 Method Parameters......Page 222
4.6 Object Construction......Page 230
4.7 Packages......Page 242
4.8 JAR Files......Page 257
4.9 Documentation Comments......Page 264
4.10 Class Design Hints......Page 271
Chapter 5: Inheritance......Page 275
5.1 Classes, Superclasses, and Subclasses......Page 276
5.2 Object: The Cosmic Superclass......Page 306
5.3 Generic Array Lists......Page 325
5.4 Object Wrappers and Autoboxing......Page 335
5.5 Methods with a Variable Number of Parameters......Page 340
5.6 Enumeration Classes......Page 342
5.7 Reflection......Page 345
5.8 Design Hints for Inheritance......Page 375
Chapter 6: Interfaces, Lambda Expressions, and Inner Classes......Page 379
6.1 Interfaces......Page 380
6.2 Lambda Expressions......Page 411
6.3 Inner Classes......Page 434
6.4 Service Loaders......Page 456
6.5 Proxies......Page 459
Chapter 7: Exceptions, Assertions, and Logging......Page 468
7.1 Dealing with Errors......Page 470
7.2 Catching Exceptions......Page 480
7.3 Tips for Using Exceptions......Page 497
7.4 Using Assertions......Page 501
7.5 Logging......Page 506
7.6 Debugging Tips......Page 533
Chapter 8: Generic Programming......Page 540
8.1 Why Generic Programming?......Page 541
8.2 Defining a Simple Generic Class......Page 545
8.3 Generic Methods......Page 547
8.4 Bounds for Type Variables......Page 549
8.5 Generic Code and the Virtual Machine......Page 552
8.6 Restrictions and Limitations......Page 559
8.7 Inheritance Rules for Generic Types......Page 571
8.8 Wildcard Types......Page 574
8.9 Reflection and Generics......Page 584
Chapter 9: Collections......Page 598
9.1 The Java Collections Framework......Page 599
9.2 Interfaces in the Collections Framework......Page 611
9.3 Concrete Collections......Page 613
9.4 Maps......Page 642
9.5 Views and Wrappers......Page 657
9.6 Algorithms......Page 670
9.7 Legacy Collections......Page 683
Chapter 10: Graphical User Interface Programming......Page 697
10.1 A History of Java User Interface Toolkits......Page 698
10.2 Displaying Frames......Page 700
10.3 Displaying Information in a Component......Page 709
10.4 Event Handling......Page 736
10.5 The Preferences API......Page 765
Chapter 11: User Interface Components with Swing......Page 773
11.1 Swing and the Model-View-Controller Design Pattern......Page 774
11.2 Introduction to Layout Management......Page 780
11.3 Text Input......Page 787
11.4 Choice Components......Page 797
11.5 Menus......Page 820
11.6 Sophisticated Layout Management......Page 842
11.7 Dialog Boxes......Page 859
Chapter 12: Concurrency......Page 889
12.1 What Are Threads?......Page 891
12.2 Thread States......Page 897
12.3 Thread Properties......Page 901
12.4 Synchronization......Page 909
12.5 Thread-Safe Collections......Page 946
12.6 Tasks and Thread Pools......Page 969
12.7 Asynchronous Computations......Page 985
12.8 Processes......Page 1004
Appendix......Page 1015
Index......Page 1019
Credits......Page 1144
Code Snippets......Page 1151