目录

  • 1 Introduction
    • 1.1 Introduction
    • 1.2 Machine Lang, Assembly lang and High-level lang
    • 1.3 History of Java
    • 1.4 Characteristics of Java
    • 1.5 Typical Java Development Environment
    • 1.6 Introduction to Java Application
  • 2 Classes and Objects
    • 2.1 Primitive Types vs. Reference Types
    • 2.2 Classes and Objects
      • 2.2.1 Declaring a Class
      • 2.2.2 Local and Instance Variables
      • 2.2.3 Methods: A Deeper Look
      • 2.2.4 Constructors
  • 3 Control Statements
    • 3.1 Control Structures
    • 3.2 if Selection
    • 3.3 while Repetition
    • 3.4 for Repetition
    • 3.5 do…while repetition
    • 3.6 switch multiple-selection
  • 4 Arrays and Collections
    • 4.1 Arrays
    • 4.2 ArrayList
    • 4.3 Set
    • 4.4 Generic Programming
  • 5 Object-Oriented Programming: Inheritance
    • 5.1 Inheritance
    • 5.2 Superclasses and Subclasses
    • 5.3 Constructors in Subclasses
  • 6 Object-Oriented Programming: Polymorphism
    • 6.1 Polymorphism
    • 6.2 Polymorphic Behavior
    • 6.3 Enable and Disable Polymorphism
  • 7 Exception Handling
    • 7.1 Exceptions
    • 7.2 Error-Handling
  • 8 Java I/O
    • 8.1 Java I/O Streams
    • 8.2 Decorator Design Pattern
  • 9 GUI Components
    • 9.1 AWT and SWING
    • 9.2 Event Model
  • 10 Multithreading
    • 10.1 Life Cycle of a Thread
    • 10.2 Thread Synchronization
    • 10.3 Producer/Consumer
Inheritance

Inheritance

  §A form of software reuse in which a new class is created by absorbing an existing class’s members and embellishing them with new or modified capabilities. 

  §Can save time during program development by basing new classes on existing proven and debugged high-quality software. 

  §Increases the likelihood that asystem will be implemented and maintained effectively.

}When creating a class, rather than declaring completely new members, you can designate that the new class should inherit the members of an existing class. 

  §Existing class is the superclass

  §Newclass is the subclass

}Each subclass can be a superclass of future subclasses. 

}Asubclass can add its own fields and methods. 

}A subclass is more specific than its superclass and represents a more specialized group of objects. 

}The subclass exhibits the behaviors of its superclass and can add behaviors that are specific to the subclass. 

   §This is why inheritance is sometimes referred to as specialization


}The directsuperclass is the superclass from which thesubclass explicitly inherits. 

}An indirectsuperclass is any class above the directsuperclass in the class hierarchy

}The Java class hierarchy begins with class Object (in package java.lang)

  §Every class in Java directly or indirectly extends (or “inherits from”) Object.

}Java supports only single inheritance, in which each class is derived from exactly one direct superclass. 

}We distinguish between the is-a relationship and the has-a relationship

}Is-a represents inheritance

  §In an is-a relationship, an object of a subclass can also be treated as an object of its superclass 

}Has-a represents composition

  §In a has-a relationship, an object contains as members references to other objects










.