0% found this document useful (0 votes)
7 views57 pages

Learning Java An Introduction to Real World Programming with Java 5th Edition Marc Loy pdf download

The document is an introduction to the book 'Learning Java: An Introduction to Real World Programming with Java, 5th Edition' by Marc Loy, Patrick Niemeyer, and Daniel Leuck. It outlines the structure of the book, which covers Java fundamentals, programming techniques, and various applications of Java, along with links to additional resources and related titles. The book aims to provide a comprehensive understanding of Java for both beginners and experienced programmers.

Uploaded by

ggpoedayz691
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views57 pages

Learning Java An Introduction to Real World Programming with Java 5th Edition Marc Loy pdf download

The document is an introduction to the book 'Learning Java: An Introduction to Real World Programming with Java, 5th Edition' by Marc Loy, Patrick Niemeyer, and Daniel Leuck. It outlines the structure of the book, which covers Java fundamentals, programming techniques, and various applications of Java, along with links to additional resources and related titles. The book aims to provide a comprehensive understanding of Java for both beginners and experienced programmers.

Uploaded by

ggpoedayz691
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Learning Java An Introduction to Real World

Programming with Java 5th Edition Marc Loy


download

https://textbookfull.com/product/learning-java-an-introduction-
to-real-world-programming-with-java-5th-edition-marc-loy/

Download full version ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Learning Java An Introduction to Real World Programming


with Java Marc Loy

https://textbookfull.com/product/learning-java-an-introduction-
to-real-world-programming-with-java-marc-loy/

Learning Java Beginning programming with java for


dummies First Edition John Bach

https://textbookfull.com/product/learning-java-beginning-
programming-with-java-for-dummies-first-edition-john-bach/

Introduction to Programming in Java An


Interdisciplinary Approach 2nd Edition Robert Sedgewick

https://textbookfull.com/product/introduction-to-programming-in-
java-an-interdisciplinary-approach-2nd-edition-robert-sedgewick/

Java An Introduction to Problem Solving and Programming


8th Edition Walter Savitch

https://textbookfull.com/product/java-an-introduction-to-problem-
solving-and-programming-8th-edition-walter-savitch/
Learning Network Programming with Java 1st Edition
Reese Richard M

https://textbookfull.com/product/learning-network-programming-
with-java-1st-edition-reese-richard-m/

The Real World An Introduction to Sociology 5th Edition


Kerry Ferris

https://textbookfull.com/product/the-real-world-an-introduction-
to-sociology-5th-edition-kerry-ferris/

Learning Java Functional Programming 1st Edition Reese


Richard M

https://textbookfull.com/product/learning-java-functional-
programming-1st-edition-reese-richard-m/

Java Coding Problems: Become an expert Java programmer


by solving over 200 brand-new, modern, real-world
problems, 2nd edition Anghel Leonard

https://textbookfull.com/product/java-coding-problems-become-an-
expert-java-programmer-by-solving-over-200-brand-new-modern-real-
world-problems-2nd-edition-anghel-leonard/

Java Coding Problems, 2nd Edition: Become an expert


Java programmer by solving over 200 brand-new, modern,
real-world problems Anghel Leonard

https://textbookfull.com/product/java-coding-problems-2nd-
edition-become-an-expert-java-programmer-by-solving-
over-200-brand-new-modern-real-world-problems-anghel-leonard/
1. Preface
a. Who Should Read This Book
b. New Developments
i. New in This Edition (Java 11, 12, 13, 14)
c. Using This Book
d. Online Resources
e. Conventions Used in This Book
f. Using Code Examples
g. O’Reilly Online Learning
h. How to Contact Us
i. Acknowledgments

2. 1. A Modern Language
a. Enter Java
i. Java’s Origins
ii. Growing Up

b. A Virtual Machine
c. Java Compared with Other Languages
d. Safety of Design
i. Simplify, Simplify, Simplify…
ii. Type Safety and Method Binding
iii. Incremental Development
iv. Dynamic Memory Management
v. Error Handling
vi. Threads
vii. Scalability
e. Safety of Implementation

i. The Verifier
ii. Class Loaders
iii. Security Managers

f. Application and User-Level Security


g. A Java Road Map

i. The Past: Java 1.0–Java 11


ii. The Present: Java 14
iii. The Future
iv. Availability
3. 2. A First Application

a. Java Tools and Environment

i. Installing the JDK


ii. Installing OpenJDK on Linux
iii. Installing OpenJDK on Mac
iv. Installing OpenJDK on Windows
v. Configuring IntelliJ IDEA and Creating
a Project
vi. Running the Project
vii. Grabbing the Learning Java Examples
b. HelloJava

i. Classes
ii. The main() Method
iii. Classes and Objects
iv. Variables and Class Types
v. HelloComponent
vi. Inheritance
vii. The JComponent Class
viii. Relationships and Finger Pointing
ix. Package and Imports
x. The paintComponent() Method

c. HelloJava2: The Sequel

i. Instance Variables
ii. Constructors
iii. Events
iv. The repaint() Method
v. Interfaces

d. Goodbye and hello again


4. 3. Tools of the Trade

a. JDK Environment
b. The Java VM
c. Running Java Applications
i. System Properties

d. The Classpath

i. javap
ii. Modules
e. The Java Compiler
f. Trying Java
g. JAR Files

i. File Compression
ii. The jar Utility
iii. The pack200 Utility

h. Building up
5. 4. The Java Language
a. Text Encoding
b. Comments

i. Javadoc Comments
c. Variables and Constants
d. Types

i. Primitive Types
ii. Reference Types
iii. Inferring Types
iv. Passing References
v. A Word About Strings
e. Statements and Expressions
i. Statements
ii. Expressions
f. Arrays

i. Array Types
ii. Array Creation and Initialization
iii. Using Arrays
iv. Anonymous Arrays
v. Multidimensional Arrays
g. Types and Classes and Arrays, oh my!
6. 5. Objects in Java
a. Classes

i. Declaring and Instantiating Classes


ii. Accessing Fields and Methods
iii. Static Members

b. Methods
i. Local Variables
ii. Shadowing
iii. Static Methods
iv. Initializing Local Variables
v. Argument Passing and References
vi. Wrappers for Primitive Types
vii. Method Overloading
c. Object Creation
i. Constructors
ii. Working with Overloaded Constructors

d. Object Destruction
i. Garbage Collection

e. Packages
i. Importing Classes
ii. Custom Packages
iii. Member Visibility and Access
iv. Compiling With Packages

f. Advanced Class design


i. Subclassing and Inheritance
ii. Interfaces
iii. Inner classes
iv. Anonymous inner classes
g. Organizing content and planning for failure
7. 6. Error Handling and Logging

a. Exceptions
i. Exceptions and Error Classes
ii. Exception Handling
iii. Bubbling Up
iv. Stack Traces
v. Checked and Unchecked Exceptions
vi. Throwing Exceptions
vii. try Creep
viii. The finally Clause
ix. Try with Resources
x. Performance Issues
b. Assertions

i. Enabling and Disabling Assertions


ii. Using Assertions

c. The Logging API

i. Overview
ii. Logging Levels
iii. A Simple Example
iv. Logging Setup Properties
v. The Logger
vi. Performance

d. Real-world Exceptions
8. 7. Collections and Generics
a. Collections

i. The Collection Interface


ii. Collection Types
iii. The Map Interface
b. Type Limitations

i. Containers: Building a Better


Mousetrap
ii. Can Containers Be Fixed?
c. Enter Generics

i. Talking About Types

d. “There Is No Spoon”

i. Erasure
ii. Raw Types
e. Parameterized Type Relationships

i. Why Isn’t a List<Date> a


List<Object>?

f. Casts

i. Converting between collections and


arrays
ii. Iterator

g. A closer look: The sort() Method


h. Application: Apples and trees on the field
i. Conclusion
9. 8. Text and Core Utilities

a. Strings
i. Constructing Strings
ii. Strings from Things
iii. Comparing Strings
iv. Searching
v. String Method Summary
b. Things from Strings

i. Parsing Primitive Numbers


ii. Tokenizing Text

c. Regular Expressions
i. Regex Notation
ii. The java.util.regex API

d. Math Utilities

i. The java.lang.Math Class


ii. Big/Precise Numbers

e. Dates and Times


i. Local Dates and Times
ii. Comparing and Manipulating Dates
and Times
iii. Time Zones
iv. Parsing and Formatting Dates and
Times
v. Parsing Errors
vi. Timestamps
f. Other Useful Utilities
10. 9. Threads

a. Introducing Threads

i. The Thread Class and the Runnable


Interface
ii. Controlling Threads
iii. Death of a Thread

b. Synchronization

i. Serializing Access to Methods


ii. Accessing class and instance Variables
from Multiple Threads

c. Scheduling and Priority

i. Thread State
ii. Time-Slicing
iii. Priorities
iv. Yielding

d. Thread Performance
i. The Cost of Synchronization
ii. Thread Resource Consumption
e. Concurrency Utilities

11. 10. Desktop Applications

a. Buttons and sliders and text fields, oh my!


i. Component hierarchies
ii. Model View Controller architecture
iii. Labels and Buttons
iv. Text components
v. Other components
b. Containers and layouts

i. Frames and windows


ii. JPanel
iii. Layout managers

c. Events
i. Mouse events
ii. Action events
iii. Change events
iv. Other events
d. Modals and popups

i. Message dialogs
ii. Confirmation dialogs
iii. Input dialogs

e. Threading considerations

i. SwingUtilities and component updates


ii. Timers
f. Next steps

i. Menus
ii. Preferences
iii. Custom components and Java2D
iv. JavaFX
g. User Interface and User Experience
12. 11. Networking and I/O
a. Streams

i. Basic I/O
ii. Character Streams
iii. Stream Wrappers
iv. The java.io.File Class
v. File Streams
vi. RandomAccessFile
b. The NIO File API

i. FileSystem and Path


ii. NIO File Operations

c. The NIO Package


i. Asynchronous I/O
ii. Performance
iii. Mapped and Locked Files
iv. Channels
v. Buffers
vi. Character Encoders and Decoders
vii. FileChannel
d. Network Programming
e. Sockets

i. Clients and Servers


ii. The DateAtHost Client
iii. A Distributed Game

f. More to explore
13. 12. Programming for the Web
a. Uniform Resource Locators
b. The URL Class
i. Stream Data
ii. Getting the Content as an Object
iii. Managing Connections
iv. Handlers in Practice
v. Useful Handler Frameworks
c. Talking to Web Applications
i. Using the GET Method
ii. Using the POST Method
iii. The HttpURLConnection
iv. SSL and Secure Web Communications
d. Java Web Applications

i. The Servlet Lifecycle


ii. Servlets
iii. The HelloClient Servlet
iv. The Servlet Response
v. Servlet Parameters
vi. The ShowParameters Servlet
vii. User Session Management
viii. The ShowSession Servlet
e. Servlet Containers
i. Configuration with web.xml and
Annotations
ii. URL Pattern Mappings
iii. Deploying HelloClient
f. The World-Wide Web is, well, wide
14. 13. Expanding Java
a. Java Releases
i. JCP and JSRs

b. Lambda Expressions
i. Retrofitting Your Code
c. Expanding Java beyond the core
d. Final wrap up and next steps
15. A. Code Examples and IntelliJ IDEA

a. Grabbing the Main Code Examples


b. Installing IntelliJ IDEA
i. Installing on Linux
ii. Installing on Mac
iii. Installing on Windows
c. Importing the Examples
d. Running the Examples
e. Grabbing the Web Code Examples
f. Working with Servlets
16. Glossary
17. Index
Learning Java
FIFTH EDITION

An Introduction to Real-World Programming with


Java

Marc Loy, Patrick Niemeyer, and Daniel


Leuck
Learning Java

by Marc Loy, Patrick Niemeyer, and Daniel Leuck

Copyright © 2020 Marc Loy, Patrick Niemeyer, Daniel Leuck. All


rights reserved.

Printed in the United States of America.

Published by O’Reilly Media, Inc., 1005 Gravenstein Highway


North, Sebastopol, CA 95472.

O’Reilly books may be purchased for educational, business, or


sales promotional use. Online editions are also available for
most titles (http://oreilly.com). For more information, contact
our corporate/institutional sales department: 800-998-9938 or
[email protected].

Acquisitions Editor: Suzanne McQuade

Developmental Editor: Amelia Blevins

Production Editor: Beth Kelly

Copyeditor: Sonia Saruba

Proofreader:

Indexer:
Interior Designer: David Futato

Cover Designer: Karen Montgomery

Illustrator: Rebecca Demarest

July 2020: Fifth Edition

Revision History for the Early Release


2019-11-14: First Early Release
2020-01-13: Second Early Release
2020-02-05: Third Early Release

See http://oreilly.com/catalog/errata.csp?isbn=9781449319243
for release details.

The O’Reilly logo is a registered trademark of O’Reilly Media,


Inc. Learning Java, the cover image, and related trade dress
are trademarks of O’Reilly Media, Inc.

While the publisher and the authors have used good faith
efforts to ensure that the information and instructions
contained in this work are accurate, the publisher and the
authors disclaim all responsibility for errors or omissions,
including without limitation responsibility for damages resulting
from the use of or reliance on this work. Use of the information
and instructions contained in this work is at your own risk. If
any code samples or other technology this work contains or
describes is subject to open source licenses or the intellectual
property rights of others, it is your responsibility to ensure that
your use thereof complies with such licenses and/or rights.

978-1-492-05627-0

[LSI]
Preface
This book is about the Java programming language and
environment. Whether you are a software developer or just
someone who uses the Internet in your daily life, you’ve
undoubtedly heard about Java. Its introduction was one of the
most exciting developments in the history of the Web and Java
applications have powered much of the growth of business on
the Internet. Java is, arguably, the most popular programming
language in the world, used by millions of developers on
almost every kind of computer imaginable. Java has surpassed
languages such as C++ and Visual Basic in terms of developer
demand and has become the de facto language for certain
kinds of development—especially for web-based services. Most
universities are now using Java in their introductory courses
alongside the other important modern languages. Perhaps you
are using this text in one of your classes right now!

This book gives you a thorough grounding in Java


fundamentals and APIs. Learning Java, Fifth Edition, attempts
to live up to its name by mapping out the Java language and
its class libraries, programming techniques, and idioms. We’ll
dig deep into interesting areas and at least scratch the surface
of other popular topics. Other titles from O’Reilly pick up where
we leave off and provide more comprehensive information on
specific areas and applications of Java.

Whenever possible, we provide compelling, realistic, and fun


examples and avoid merely cataloging features. The examples
are simple, but hint at what can be done. We won’t be
developing the next great “killer app” in these pages, but we
hope to give you a starting point for many hours of
experimentation and inspired tinkering that will lead you to
develop one yourself.

Who Should Read This Book


This book is for computer professionals, students, technical
people, and Finnish hackers. It’s for everyone who has a need
for hands-on experience with the Java language with an eye
toward building real applications. This book could also be
considered a crash course in object-oriented programming,
networking, and user interfaces. As you learn about Java, you’ll
also learn a powerful and practical approach to software
development, beginning with a deep understanding of the
fundamentals of Java and its APIs.

Superficially, Java looks like C or C++, so you’ll have a tiny


head start in using this book if you have some experience with
one of these languages. If you do not, don’t worry. Don’t make
too much of the syntactic similarities between Java and C or
C++. In many respects, Java acts like more dynamic
languages such as Smalltalk and Lisp. Knowledge of another
object-oriented programming language should certainly help,
although you may have to change some ideas and unlearn a
few habits. Java is considerably simpler than languages such
as C++ and Smalltalk. If you learn well from concise examples
and personal experimentation, we think you’ll like this book.

The last part of this book branches out to discuss Java in the
context of web applications, web services, and request
processing, so you should be familiar with the basic ideas
behind web browsers, servers, and documents.

New Developments
This edition of Learning Java is actually the seventh edition—
updated and retitled—of our original, popular Exploring Java.
With each edition, we’ve taken great care not only to add new
material covering additional features, but to thoroughly revise
and update the existing content to synthesize the coverage
and add years of real-world perspective and experience to
these pages.

One noticeable change in recent editions is that we’ve


deemphasized the use of applets, reflecting their diminished
role in recent years in creating interactive web pages. In
contrast, we’ve greatly expanded our coverage of Java web
applications and web services which are now mature
technologies.
We cover all of the important features of the latest “long-term
support” release of Java, officially called Java Standard Edition
(SE) 11, OpenJDK 11, but we also add in a few details from
the “feature” releases of Java 12, Java 13, and Java 14. Sun
(Java’s keeper before Oracle) has changed the naming scheme
many times over the years. Sun coined the term Java 2 to
cover the major new features introduced in Java version 1.2
and dropped the term JDK in favor of SDK. With the sixth
release, Sun skipped from Java version 1.4 to Java 5.0, but
reprieved the term JDK and kept its numbering convention
there. After that, we had Java 6, Java 7, and so on and now
we reach Java 14.

This release of Java reflects a mature language with occasional


syntactic changes and updates to APIs and libraries. We’ve
tried to capture these new features and update every example
in this book to reflect not only the current Java practice, but
style as well.

New in This Edition (Java 11, 12, 13, 14)


This edition of the book continues our tradition of rework to be
as complete and up-to-date as possible. It incorporates
changes from both the Java 11—again, the long term support
version—and Java 12, 13, and 14 feature releases. (More on
the specifics of the Java features included and excluded in
recent releases in Chapter 13.) New topics in this edition
include:
New language features, including type inference in
generics and improved exception handling and
automatic resource management syntax

New interactive playground, jshell, for trying out


code snippets

The proposed switch expression

Basic lambda expressions

Updated examples and analysis throughout the book

Using This Book


This book is organized roughly as follows:

Chapters Chapter 1 and Chapter 2 provide a basic


introduction to Java concepts and a tutorial to give you
a jump start on Java programming.

Chapter 3 discusses fundamental tools for developing


with Java (the compiler, the interpreter, jshell, and
the JAR file package).

Chapters Chapter 4 and Chapter 5 introduce


programming fundamentals then describe the Java
language itself, beginning with the basic syntax and
then covering classes and objects, exceptions, arrays,
enumerations, annotations, and much more.

Chapter 6 covers exceptions, errors, and the logging


facilities native to Java.

Chapter 7 covers collections alongside generics and


parameterized types in Java.

Chapter 8 covers text processing, formatting, scanning,


string utilities, and much of the core API utilities.

Chapter 9 covers the language’s built-in thread


facilities.

Chapter Chapter 10 covers the basics of graphical user


interface (GUI) development with Swing.

Chapter 11 covers Java I/O, streams, files, sockets,


networking, and the NIO package.

Chapter 12 covers web applications using servlets,


servlet filters, and WAR files, as well as web services.

Chapter 13 introduces the Java Community Process


and highlights how to track future changes to Java
while helping you retrofit existing code with new
features such as the lambda expressions introduced in
Java 8.
If you’re like us, you don’t read books from front to back. If
you’re really like us, you usually don’t read the Preface at all.
However, on the off chance that you will see this in time, here
are a few suggestions:

If you are already a programmer and just need to learn


Java in the next five minutes, you are probably looking
for the examples. You might want to start by glancing
at the tutorial in Chapter 2. If that doesn’t float your
boat, you should at least look at the information in
Chapter 3, which explains how to use the compiler and
interpreter. This should get you started.

Chapter 11 and Chapter 12 are the places to head if


you are interested in writing network or web-based
applications and services. Networking remains one of
the more interesting and important parts of Java.

Chapter 10 discusses Java’s graphics features and


component architecture. You should read this if you are
interested in writing desktop graphical Java
applications.

Chapter 13 discusses how to stay on top of changes to


the Java language itself regardless of your particular
focus.
Online Resources
There are many online sources for information about Java.

Oracle’s official website for Java topics is


https://www.oracle.com/technetwork/java/index.html; look
here for the software, updates, and Java releases. This is
where you’ll find the reference implementation of the JDK,
which includes the compiler, the interpreter, and other tools.

Oracle also maintains the OpenJDK site. This is the primary


open-source version of Java and the associated tools. We’ll be
using the OpenJDK for all the examples in this book.

You should also visit O’Reilly’s site at http://oreilly.com/. There


you’ll find information about other O’Reilly books for both Java
and a growing array of other topics. You should also check out
the online learning and conference options—O’Reilly is a real
champion for education in all its forms.

And of course, you can check the home page for Learning
Java!

Conventions Used in This Book


The font conventions used in this book are quite simple.

Italic is used for:

Pathnames, filenames, and program names


Internet addresses, such as domain names and URLs

New terms where they are defined

Program names, compilers, interpreters, utilities, and


commands

Threads

Constant width is used for:

Anything that might appear in a Java program,


including method names, variable names, and class
names

Tags that might appear in an HTML or XML document

Keywords, objects, and environment variables

Constant width bold is used for:

Text that is typed by the user on the command line or


in a dialog

Constant width italic is used for:

Replaceable items in code

In the main body of text, we always use a pair of empty


parentheses after a method name to distinguish methods from
Other documents randomly have
different content
little doubt that the Outlawry Act was strained, to put it mildly, by
the police and the local magistracy, with the connivance of the
Government, another turn of the screw would not have made the
actions of the authorities any more illegal, and might have made
them efficient. However, determined as the authorities were to
stamp out lawlessness, they did not carry their own illegal acts to
this extreme point, and probably this postponed, though it did not
prevent, the end which was inevitable, as it always must be when a
few array themselves against an overwhelming majority.
It was about this time that the name of Aaron Sherritt was first
heard of in connection with the bushrangers. Sherritt was the son of
an ex-policeman. He was about twenty-four years of age and had
settled in the district some time earlier. He selected one hundred and
seven acres of ground on the Woolshed Creek, and the Kellys and
Byrnes helped him to fence it in and clear part of it. He had,
however, recently sold his farm to a Mr. Crawford, of Melbourne, and
had built himself a hut at Sebastopol, about two miles away, until he
could take up another selection. He was engaged to be married to a
sister of Joe Byrnes, and was regarded as one of the family. He was
suspected of having taken a share in some of the extensive horse-
stealing raids in company with the Kellys and their friends, and had
been in consequence an object of police suspicion and supervision.
This was the man to whom the police made advances, and, by
promising him the whole of the eight thousand pounds reward
offered for the capture of the bushrangers, on condition that it
should be through his aid and assistance that this capture was
effected, they succeeded in winning him over to their side. He led
Superintendent Hare and a party of police into the innermost
recesses of the mountains, and pointed out several camps where the
bushrangers had been; but, in each case, the bushrangers appeared
to have received warning and to have removed before the police
came. Some thought that Sherritt was playing a double game, and
that he contrived to let the bushrangers know when the police might
be expected to arrive, but there appears to be no foundation for this
opinion, as it delayed his chance of obtaining the reward. At first he
was careful not to be seen in company with the police, but their
association could not be kept secret for long, and Sherritt soon
became suspected by the Kelly family. One day Mrs. Byrnes openly
accused him of trying to betray her son. There was a row, and
Sherritt was ordered from the house, his engagement with the
daughter being broken off. After that Sherritt appeared more openly
in company of the police, parties of whom were constantly watching
the homes of the four bushrangers on the chance of capturing them
should they visit their parents or other relatives. Sherritt married the
daughter of another settler in the district, and all communications
between him and the families of the bushrangers were broken off.
Sherritt instead of being a friend was considered an enemy of the
bushrangers.
During the latter half of 1879 and the first half of 1880 nothing of
any importance was heard as to the movements of the bushrangers.
More than once it was reported that they had left the country,
sometimes it was said for New Zealand, and at other times for
America, but these reports were invariably contradicted within a few
days, and the Kellys were said to be still somewhere in the ranges.
Sometimes it was said that the money stolen from the Jerilderie
Bank must be all expended, and that the Kellys would be forced to
leave their hiding-place shortly, but frequently, during the
twelvemonths following that raid, nothing would be heard of the
bushrangers for weeks, and the public almost forgot that there was
such a gang in existence. Then suddenly came the news that the
robbers had shot Aaron Sherritt on June 27th, 1880.
For some weeks a party of police had been secreted, as much as
possible, in Sherritt's house, for the purpose of watching Byrne's
mother's house, and four of them were quietly sitting in the inner
room at the time of the murder. The particulars of the murder were
as follows:—A German market-gardener named Antoine Weeks was
living on the Woolshed Creek, not far from Sherritt's and Byrnes's
houses. He was walking home on the evening of the day mentioned
when he was met by Dan Kelly and Joe Byrnes. "Do you know who
we are?" asked Dan. "No," replied Weeks. "Well, we're the Kellys,"
said Dan; "you do as we tell you and no harm will come to you."
They handcuffed the German, and led him along the road to
Sherritt's house. Here Dan told him to shout "Aaron." Weeks did so,
and on Aaron Sherritt coming to the door to ascertain who wanted
him, Byrnes shot him dead without a word. The bushrangers took
the handcuffs off of Weeks and told him to go home. Then they
went to the door of the hut, called Mrs. Sherritt out, and told her
that she had better send some of the—— traps in her house out to
bury her husband, because "We've shot him for being a traitor." The
Kellys were fully aware that the police were in the house, and called
on them to come out and "fight like men." If the constables had
come out as invited they would have been courting almost certain
death. A bright wood fire was burning in the hut and the front room
was as bright as day, while all outside was as dark as possible. Had
the police therefore left the shelter of the inner room and entered
the front apartment they would have been shot down before they
could have seen their enemies, whose whereabouts could only have
been guessed at from their shots or from the flash of their revolvers.
Going to the door under these conditions would have been almost
tantamount to committing suicide. The bushrangers raged round the
hut calling the police the most opprobious names and threatening
and taunting them in hopes of inducing them to come into the light,
but as the police kept quiet and made no reply whatever to their
taunts the bushrangers swore that they would "burn 'em like rats in
a trap." They fired through the windows and doors, but they appear
to have been just as unwilling to enter the lighted room as the police
were. In fact neither party would give the other a chance. The
robbers remained round the hut at this labour of hate until two a.m.,
when they departed. At daybreak one of the troopers went to where
the horses were kept, and rode to Benalla to give information of the
reappearance of the Kellys, while the other three followed on the
tracks of the outlaws.
CHAPTER XXXI.
Fight Between the Police and the Bushrangers at Glenrowan;
The Railway Torn Up; Attempt to Wreck the Police Train;
The Glenrowan Inn Besieged; Ned Kelly in Armour; His
Capture; The Burning of the Inn; Deaths of Dan Kelly, Steve
Hart, and Joe Byrnes; Trial and Conviction of Ned Kelly; His
Death; The Kelly Show; Decrease of Crime in the Colonies.

As soon as the news of this fresh outrage was telegraphed to


Melbourne, Sub-inspector O'Connor of Queensland, with his six black
trackers, with Superintendent Hare, Inspector Pewtress, and several
other officials of the Victorian police, a number of newspaper
correspondents, and a few other favoured persons, started by
special train for the scene of disorder. Eight troopers were picked up
at Benalla, and at twenty-five minutes past three p.m. the train was
stopped near the Glenrowan platform by Mr. Curnow, the local
schoolmaster, who stood on the line waving a red scarf. He informed
those on the train that the robbers had torn up the rails a short
distance ahead, with a view to wrecking the train, and that they
were waiting near to shoot the police or any one else who might be
sent to capture them. A consultation was immediately held to decide
as to the next step, and while this was going on, Constable Bracken,
the local representative of the police force, arrived and reported that
the bushrangers had taken possession of the Glenrowan Inn, not
much more than a hundred yards distant, and that he had just made
his escape from them.
The Glenrowan Inn was built on the Sydney Road, about half-way
between Winton and Wangaratta, shortly after the discovery of gold
at the Ovens River, in 1853. The glen was then a camping-place for
teams travelling between Melbourne and the diggings. A second
hotel was constructed later, and a small village, or what the
Australians call a township, grew up on the little flat at the gap in
the hills, locally known as the Futter's Range, a spur jutting out from
the larger Strathbogie Range. For some years Glenrowan was quite a
flourishing little town, the traffic to the diggings being large. But
when the Great Northern Railway was opened in 1873 the village
began to dwindle away. The railway carried the trade past it to the
more conveniently situated and larger towns on either side, and
consequently the population left for these towns. The two hotels
remained, and there was also a store, a blacksmith's shop, and a
few other houses, and these depended for their support on the fruit
growers, market gardeners, and farmers who cultivated the rich
alluvial flats with which the lower spurs of the mountains are
interspersed. The railway platform had been constructed by the
Government to accommodate the trade in fruit, vegetables, and
other produce which formed the staple industry of the district in
1880.
The Glenrowan Inn was a long, low, weather-board building, with a
wide verandah along the front. It stood some distance back from the
road, with a large trough hewn from the stem of a tree in front for
horses and bullocks to drink from. Near this was a sign-board with
the names of the hotel and the proprietor on it thus:—

The robbers, it appears, did not go very far when they left Sherritt's
hut. They were aware that, when the news of the murder reached
Melbourne and other centres, an attempt would be made to follow
them, and they seem to have made up their minds to a final effort to
conquer the police force of the colony. They went to the camp of the
line repairers and roused them up. James Reardon, on coming out of
his hut, was ordered to get his tools, as the robbers were
determined to rip up the line and wreck the train which they
expected to arrive. Reardon at first refused, but on being threatened
with death he gave in. He said that the tools were locked up and
that he could not get them till morning, but he was told that the
chest would soon be broken. His mate, Sullivan, was also secured,
and at length they agreed to do as they were told. They went to a
bend in the road, a short distance north of the platform, being under
the impression that the train would arrive from Wangaratta or
Beechworth. They ripped up a number of the rails and piled them
across the track. Then they marched Reardon and his wife and child
and Sullivan to the Glenrowan Inn, and took possession. They
collected sixty-two people in the township, including Mr. John
Stanistreet, the station-master, and escorted them to the hotel.
Among the prisoners also was Constable Bracken. Ned Kelly walked
about telling the people that the train would "soon be here" from
Rushworth with the black trackers and "a lot of other—— and we're
going to kill the lot." There was some confusion owing to the fears
of the women and children, and while the bushrangers were
engaged in restoring order, Constable Bracken contrived to get hold
of the key of the front door. He watched for an opportunity, opened
the door and ran out. He reported that three of the troopers who
had been hidden in Sherritt's hut had followed the bushrangers, and
had watched all their proceedings, but they had not ventured to
attack them, as their ammunition was short, and they were not
strong enough. Presently a man came out on to the verandah, and
the police, recognising him as Ned Kelly, fired a volley. Ned laughed,
and shouted "Shoot away, you ----, you can't hurt us." At this
juncture Mr. Stanistreet came out of the house, and walked from the
hotel to where the police were, at the imminent risk of being shot,
as he was between the two firing parties. He escaped, however, and
reported that Miss Jones, aged fourteen, and several other of the
prisoners in the hotel had been wounded by the police fire, but none
of the bushrangers had been hurt. Superintendent Hare had also
been severely wounded by the bushrangers, the bullet having
shattered the bones of his wrist. He was taken to the railway station-
master's house and attended to. At about five p.m. Mrs. Jones, the
landlady of the hotel, appeared on the verandah, wringing her hands
and weeping. She called the police murderers, and said that her son
had been killed and her daughter wounded. The police ceased firing,
and the boy was brought out. He was still alive, and was sent off at
once to the Wangaratta Hospital, where he died next day. An old
man named Martin Cherry was also said to have been killed. Mrs.
Jones and her children and servants, and the men and women who
had been made prisoners by the bushrangers, left the hotel after
dark during a truce, and firing was then kept up during the night.
About daybreak another party of troopers arrived from Benalla,
Wangaratta, and Beechworth, making the attacking party about
thirty strong. There was a lull in the firing for a time, while the
newly-arrived men were being placed in positions, when suddenly a
revolving rifle and a cap known to have belonged to Ned Kelly were
found a hundred yards from the hotel at the rear of the attacking
party. The rifle was stained with blood. The police were still
discussing this find and speculating how the articles could have got
there when they were fired at from behind a tree. The next moment
an extraordinary figure marched across the space between two
trees. The figure looked like a tall, stout man, with a nail can over
his head. Sergeant Steel, Constable Kelly, and Railway-guard
Dowsett fired at it simultaneously, but the bullets appeared to
rebound from the body of the figure. Steel then fired at the legs,
and at the second shot Ned Kelly, for he it was, fell, crying out "I'm
done for." The police rushed forward, but Kelly raised himself on his
elbow and fired, howling like a wild beast and declaring that they
should never take him alive. He continued shooting, but the bullets
"went wild," owing, perhaps, to his weakening through loss of blood,
and he was soon grappled with and handcuffed. The armour worn
by Ned is said to have been made from stolen plough-shares by a
local blacksmith. It consisted of a helmet shaped like a nail can and
coming down to the shoulders, with a slit in it to enable the wearer
to see; and a breastplate, very long, with shoulder plates and back
guard. The steel averaged nearly a quarter of an inch in thickness,
and the weight of the suit worn by Ned Kelly was ninety-seven
pounds. The breastplate showed several dints where it had been
struck by bullets, but it had not been pierced. Ned had, however,
received two wounds in the groin, and one each in the left foot, right
leg, right hand, and right arm. He was immediately removed to a
safe distance, and placed under medical care. Notwithstanding the
loss of one of their small number, the bushrangers kept up a brisk
fire from the hotel. At one time a report was circulated that Joe
Byrnes had been shot dead while drinking a glass of brandy in the
bar, but as there was no apparent slackening in the fire this was
discredited. At three p.m. Constable Charles Johnson, under cover of
a volley from the besiegers, rushed up to the side of the hotel with a
huge bundle of straw, which he placed in position and set fire to.
The straw blazed up famously, but soon died out, and the
spectators, of whom there was a goodly number, pronounced the
attempt to fire the building a failure. It was at this time that Mrs.
Skillian, a sister of the Kellys, rode up, dressed in a well-made black
cloth riding habit and a Gainsborough hat. She advanced boldly
towards the hotel, but was stopped by the police, and warned of the
danger she was courting. She replied that she was not afraid, but
she desired to persuade her brother Dan to surrender. A consultation
was held as to whether she should be permitted to try, but before a
decision was arrived at the flames burst out of the roof of the
building. It may be as well to explain here that the wood of the
district is principally stringy bark, and that the timber of these trees
will not burn. It seems probable, therefore, that when the straw was
ignited against the wall of the building, the calico sheeting, with
which the rooms were lined and ceiled, caught fire and burned,
while the stringy bark weather boards resisted the flames and only
charred through slowly. However this may be, the furniture and
other fittings burned fiercely, and the whole building was in a blaze.
At this time the Rev. Father M. Gibney, a Roman Catholic priest from
Perth, Western Australia, who was on a visit to the Benalla district at
the time, walked up to the front door holding his crucifix in his hand.
He was followed by a number of the police. When they entered the
front door they saw the body of Joe Byrnes lying in the bar, in such a
position as to make it probable that the report which had been
spread as to his death had been true. The body was dragged out
slightly scorched. Dan Kelly and Steve Hart were found dead in a
small parlour off the bar. From the position in which they were lying
it was conjectured that they had either committed suicide or that
they had simultaneously shot each other. But there was no time to
decide whether either or which of these conjectures were true. As
Father Gibney was about to stoop down to examine the bodies, a
gust of wind swept the flames towards him and compelled him to
retire. The building was thoroughly alight at last, and the priest and
the police and others who had entered were forced out by the fierce
heat. In a very short time afterwards the house collapsed, and
nothing was left but a heap of ashes, the sign post and trough in
front, and the detached kitchen at the rear. In this kitchen was found
old Martin Cherry, severely wounded. He was carried out and placed
under the doctor's care, but died before night. Close beside the
kitchen was the body of a dog, which had been wounded by the
attacking party and had crawled between the two buildings to die.
Some time before the attempt to fire the building had been made, a
telegram had been sent to Melbourne to ask for a small cannon to
blow the house down with. Now a telegram was sent to say that it
was not required. Consequently the 12-pounder Armstrong gun with
the requisite number of men of the Garrison Artillery which had been
sent off by special train were stopped at Seymour and sent back.
When the fire had burned down sufficiently for an examination to be
made, the two mounds of ashes which were all that remained of
Dan Kelly and Steve Hart were given to Mrs. Skillian for burial, while
the body of Joe Byrnes was reserved for an inquest to be held. Two
other suits of armour, similar to that worn by Ned Kelly, were found,
the lightest being ninety-two pounds. During the fight "Wild" Wright,
Tom Wright, Frank Hart, Kate Kelly, several of the Lloyds and the
Byrneses, and other relations and friends of the bushrangers, had
been stationed on a ridge a short distance away to see the fun.
There was also a large number of other and perhaps more
disinterested spectators, some of them from Melbourne or
Beechworth, or other even more distant localities. After the inquest
the body of Joe Byrnes was given to his friends for burial. Ned Kelly
soon recovered from his wounds and was tried, convicted, and
sentenced to death for the murder of Sergeant Kennedy. In
conversations with Inspector Sadlier and other police officials before
his trial, he said that the bushrangers had known of every movement
of the police. They were aware that the police had been hiding in
Sherritt's hut for more than a week, hoping to catch Joe if he visited
his mother. The police had no right to stop a man from going to see
his mother. When the special train arrived the intention of the
bushrangers had been to rake it with shots as soon as it reached the
place where the rails had been removed. "But," exclaimed Sadlier,
"you would have killed all the people in the train." "Yes, of course,
God help them," replied Ned, "they'd have got shot, but wouldn't
they have shot me if they could?" He said that Steve Hart had visited
his mother at Wangaratta, and "didn't we laugh when we saw it in
the Wangaratta News afterwards. It was true, too, though the police
didn't believe it." He also said that he had been told that after the
sticking up of the banks at Euroa and Jerilderie, all the branch banks
in Victoria sent their receipts to Melbourne almost daily. They were
not going to stick up any more banks. It wasn't worth it. What they
had intended to do was to stick up a railway train, and they'd have
done it, "only those little black devils were always about."
On November the 5th, a mass meeting was held in the Hippodrome,
in Stephen's Street, Melbourne, with Mr. Hamilton, President of the
Society for the Abolition of Capital Punishment, in the chair. The
principal speaker was Mr. David Gaunson, M.L.A., and a resolution
was unanimously carried to the effect that the case of Edward Kelly
was a fit one for the exercise of the Royal Prerogative of Mercy. The
Melbourne Argus said that "those present belonged to the larrikin
classes," but the attendance was estimated at 4000 persons
(including 300 women) inside the building, and about 2000 outside
who could not obtain admittance. Similar meetings were also held in
Ballarat, Bendigo, Geelong, and other towns, but these efforts were
of no avail, and Ned Kelly, "the last of the bushrangers," was hung in
the Melbourne gaol, on November 11th, 1880.
Within a few days afterwards, a show was opened in Melbourne,
with Kate Kelly, one of the sisters of the dead bushrangers,
"mounted on Ned Kelly's celebrated grey mare." A suit of the armour
used in the last great fight at Glenrowan, several guns, pistols, and
revolvers alleged to have been used in the various raids committed
by the bushrangers, some handcuffs and other articles which had
belonged to, or were used by them, were exhibited, and some
particulars of their careers were given in the form of a lecture, but
the police authorities soon interfered and the show was closed. It
was re-opened in Sydney, but was suppressed there as "tending
towards immorality" almost immediately, and the Kellys returned to
the obscurity of private life.
Thus ended the last act in the great tragedy which had supplied
almost the only feature of romance to Australian history.
Bushranging had been spoken of as "the national crime of Australia,"
but, as I have shown, there was very little bushranging outside the
three colonies—New South Wales, Van Diemen's Land, and Victoria.
It was rather an excrescence on, than a development of, Australian
character. It has been estimated that the bushrangers in the colonies
from the date of the great outbreak inaugurated by Frank Gardiner
in 1861, to the death of Ned Kelly, with their more active partisans,
never exceeded 300 persons, and the story of their exploits shows
how even so small a party can disturb a whole country when the
rebels are reckless and determined. It may be said in conclusion,
that crime has steadily decreased in Australia from the cessation of
transportation. At first, while the gold fever raged, the improvement
was very slight, but from the date when the population settled down
to steady work the criminal statistics, which are very complete in the
colonies, show a steady diminution in crimes against the person or
property. There was an increase in the years during which the Ben
Hall and Gilbert gang, and their imitators in New South Wales,
Victoria and New Zealand, were most active, but even this did not
materially affect the general result, and was speedily compensated
for after the death of Thunderbolt and the capture of Power. In this
last epoch of bushranging the Moonlite and Kelly gangs arrested the
movement to some degree, but far less sympathy was exhibited with
them than in the earlier epoch, and their deeds did not inspire so
many young men with the desire to go and do likewise, as those of
Hall and Gilbert had done. In fact, bushranging had ceased to be
popular, so that the retrogression was small in comparison. Since
then numbers of gaols have been closed or converted to other uses.
There was a time when every little town in New South Wales had its
gaol. Now many of these gaols have been converted into factories or
stores, or are used for municipal or other purposes. In Victoria the
gaols were fewer but larger, and several of these have been closed,
while others once full are now almost empty. A similar story might
be told of each of the other colonies of the Australasian group, and
Australia as a whole compares favourably with other civilised
countries in criminal matters. What the Irishman calls "the bad drop"
in the blood of the country has been purged away by the most
drastic remedies, and it is extremely improbable that there will ever
again be a Frank Gardiner or a Ned Kelly to incite the young and
thoughtless to deeds of violence.
THE END.

INDEX.
Allerton, Benjamin,195, 196

Anderson, James, 155

Anderson, see Beveridge, John

Armytage, 117, 118

Atkins, William, 165

Atterill, James, alias Thomson, 111-113


Baker, John, 306

Baldwin, James, 274

Bankes, Anthony, 111-113

Barry, 163

Baylie, John, 145, 146

Beavors, George, alias Berry, 108-110

Bennett, alias Wyndham, see Gough, Charles Hugh

Bennett, Graham, 349

Bermingham, George, 229

Berry, James, 79, 80

Berryman, Thomas, 278

Bertram, William, 306, 315

Beveridge, John, alias Anderson, 106, 107

Billy from the Den, see Jenkins, Henry

Bird, 44

Birkett, Moses, 186

Black Jack, 24
Black Mary, 19

Blue Cap, see Cotterall, Robert

Bodenham, Thomas, 33-35

Bollard, John, 306, 313

Booth, James, 298

Booth, John, 130

Boulton, John, 167-169

Bourke, Robert, 316

Bowe, Charles, 145, 146

Bow, John, 202-204, 256, 276, 313

Boyd, 57, 58

Boyd, James, alias McGrath, 296, 312

Brace, Emanuel, 56, 57

Brady, Mathew, 44-47, 71, 82, 353

Brannagan, Francis, 155

Brennan, see Smith, Henry

Brennan, Stephen, 123

Britton, Frederick, 207


Brookman, William, 282, 312-314

Broomfield, James, 114

Broughton, 41

Brown, 47

Brown, Harry, 274

Brown, James, 33-35, 39

Brown, William, 155

Brownlow, John, 206

Bryan, William, 166

Bryant, James, 41-47

Bryant, James, 87

Bryant, Richard, 154, 155, 158

Bull, 57, 58

Bullfrog, Jacky, 199

Burgess, Richard H., alias Miller, 327-332

Burke, 221-225, 276

Burns, John, 41

Burrow, Arthur, 166


Byrnes, Joe, 360-382

Campbell, Robert, 286

Captain Melville, see McCallum, Frank, alias Smith

Captain Moonlite, see Scott, George

Captain Thunderbolt, see Ward, Frederick

"Carrots," 29

Cash, Martin, 118-123, 130

Cashan, alias Nowlan, 99-101

Charters, Daniel, 202-204, 333

Cheetham, 37

Chesley, John, 155

Chinese Bushranger, The, 293

Chitty, Robert, 87

Christie, see Gardiner, Frank

Clarke, 294

Clarke, James, 269-270

Clarke, John, 269-276, 317, 355

Clarke, Samuel, 312


Clarke, Thomas, 269-276, 317, 355

Clayton, 239

Clayton, Thomas, 173-176

Clegg, James, 173-176

Connell, Morris, 48

Connell, Patrick, 270, 276

Connell, Tom, 270, 276

Connelly, Patrick, 41

Connors, John, 298

Conway, John, 115-117

Cooper, Patrick, 173-176

Cornelius, Bill, alias Kenelly, 33-35, 39

Cotterall, Robert, alias Blue Cap, 286, 312

Cowan, or Cohen, 45, 46

Cox, Thomas, 37, 38

Coxen's Tom, see Long Tom

Crawford, James, 41, 46

Crookwell, James, 232, 279


Crumsden, George, 123

Cummings, 281

Cunningham, Thomas, alias Smith, 274, 313

Curran, Paddy, 71-73, 78, 79, 80

Dalton, 185

Dalton, Alexander, 33-34, 39

Dalton, James, 121, 122

Daly, Patrick or Patsy, 213, 214

Dargue, Henry, 313

Dargue, Thomas, 313

Davis, 200, 276

Davis, Bill, 37

Davis, George James, alias Huntley, 106, 107

Davis, Joseph, 173-176

Davis, Michael Henry, 195

Davis, Teddy or Edward, The Jewboy, 71, 82-88, 353

Davis, William, 111-113


Dermoodie, 344

Dido, see Driscoll, Timothy or William

Dobson, 307

Donnelly, 294

Donohoe, Johnny, 55

Donovan, Daniel, 155

Donovan, John, 145

Douglass, John, 166

Downes, John, 41

Downey, James, 199

Driscoll, Timothy or William, alias Dido, 182-184

Duncan, James, 143

Duncan, William, 129, 130

Dunkley, see Willis, William

Dunleavy, John, 239-241, 276

Dunleavy, see Lynch, John

Dunn, Johnny, 241-256, 276, 304

Dunne, 41, 42, 44, 47


Dunne, William, 228

Edwards, William, 160

Egan, John, 281

Ehrstein, Aaron von, 195

Ellis, John, alias Yanky Jack, 96-99

Ellison, George, 161

Eumarrah, 30

Eureka Gang, The, 145, 146

Everett, John, 87

Farrell, Christopher, 140

Farrer, Abraham, 129, 130

Finegan, John, 145, 146

Fitzgerald, Patrick, alias Paddy Wandong, 282

Fletcher, John, 117

Fletcher, William, 270

Fogarty, Young, 96-99

Foley, Charles, 206


Foley, Francis, 217

Foley, John, 212, 216, 217, 276

Foley, Timothy, 217

Foran, John, 282, 313

Foran, Patrick, 298

Ford, Henry, 180

Ford, John, 278

Fordyce, Alexander, 202-204, 256, 276, 312

Forster, John, 236

Gardiner, Frank, alias Christie, 193-204, 212, 254-257, 269, 271,


276, 304, 311-314, 316, 335, 353, 355, 384, 385

Gardner, John, 129, 130

Garrett, Henry Beresford, 167-169, 327

Garroway, William, 166

German Bill, 259, 274

Gilbert, Johnny, alias Roberts, 205, 212, 217-253, 256-258, 269,


271, 276, 304, 326, 337, 339, 369, 384, 385

"Ginger," 173-176

Glanvill, Richard, 87
Goldman, 141

Goodison, Christopher, 165

Gordon, 276

Gordon, Richard, 181

Gorman, Thomas, 350

Gough, Charles Hugh, alias Wyndham, alias Bennett, 274, 313

Green, 95

Greenhill, Bob, 33-38

Gregory, 47

Griffiths, Dennis, 173-176

Griffiths, George, 115

Griffiths, John, 41

Gunn, John, 115

Gunn, William, 91

Hall, 59

Hall, Ben, 217, 221-253, 256-258, 269, 271, 276, 304, 337, 339,
370, 384, 385

Hammond, James, 160


Hampton, Thomas, 298

Hanslip, George, 170

Harrison, Samuel, 115

Hart, Steve, 360-382

Hath, see Hitchcock Anthony

Healy, John, 207

Heather, 208, 209

Herbert, William, see Jones, Charles

Hickson, 186

Hill, James, 233

Hitchcock, Anthony, alias Hath, 51-53

Hobbs, William, alias Hoppy Bill, 350

Hodgetts, 47

Hogan, 117, 118

Hopkins, 40, 41, 47

Hopkins, Jonas, 114

Horne, Joseph, 306

Houlihan, Michael, 130


Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like