Java in a Nutshell, 5th Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Java in a Nutshell, 5th Edition [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید



Chapter 3. Object-Oriented Programming in Java


Now that we've
covered fundamental Java syntax, we are ready to begin
object-oriented programming in Java. All Java programs use objects,
and the type of an object is defined by its

class

or

interface .
Every Java program is defined as a class, and nontrivial programs
usually include a number of classes and interface definitions. This
chapter explains how to define new classes and interfaces and how to
do
object-oriented programming with
them.[1]

[1] If you do not have object-oriented (OO)
programming background, don't worry; this chapter
does not assume any prior experience. If you do have experience with
OO programming, however, be careful. The term
"object-oriented" has different
meanings in different languages. Don't assume that
Java works the same way as your favorite OO language. This is
particularly true for C++ programmers. Although Java and C++
borrow much syntax from C, the similarities between the two languages
do not go far beyond the level of syntax. Don't let
your experience with C++ lull you into a false familiarity with
Java.

This is a relatively long and detailed chapter, so we begin with an
overview and some definitions. A

class
is a collection of fields that hold values and methods that operate
on those values. Classes are the most fundamental structural element
of all Java programs. You cannot write Java code without defining a
class. All Java statements appear within methods, and all methods are
implemented within classes.

A class defines a new reference type, such as the
Point type defined in Chapter 2. An

object
is an

instance of a class. The
Point class defines a type that is the set of all
possible two-dimensional points. A Point object is
a value of that type: it represents a single two-dimensional point.

Objects are usually created by

instantiating a class with the new
keyword and a constructor invocation, as shown here:

Point p = new Point(1.0, 2.0);

Constructors are covered in Section 3.3 later in this chapter.

A
class definition consists of a

signature and a

body . The class signature defines the name of
the class and may also specify other important information. The body
of a class is a set of

members
enclosed in curly braces. The members of a class may include fields
and methods, constructors and initializers, and nested types.

Members can be

static or nonstatic. A static member belongs
to the class itself while a nonstatic member is associated with the
instances of a class (see Section 3.2 later in this chapter).

The signature of a class may declare that the class

extends another class. The extended class is
known as the

superclass
and the extension is known as the

subclass .
A subclass

inherits the
members of its superclass and may declare new members or

override
inherited methods with new implementations.

The signature of a class may also declare that the class

implements one or more interfaces. An

interface

is a reference type that defines method signatures but does not
include method bodies to implement the methods. A class that
implements an interface is required to provide bodies for the
interface's methods. Instances of such a class are
also instances of the interface type that it implements.

The members of a class may have

access
modifiers
public
,
protected, or private, which
specify their visibility and accessibility to clients and to
subclasses. This allows classes to hide members that are not part of
their public API. When applied to fields, this ability to hide
members enables an object-oriented design technique known as

data
encapsulation .

Classes and interfaces are the most important of the five fundamental
reference types defined by Java. Arrays,
enumerated types (or "enums") and
annotation types are the other three. Arrays are covered in Chapter 2. Enumerated types and annotation types were
introduced in Java 5.0 (see Chapter 4). Enums
are a specialized kind of class and annotation types are a
specialized kind of interface.


    / 1191