JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

download JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

of 62

Transcript of JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    1/62

    Introduction to Programming 2 1

    1 Review of Basic Conceptsin Java

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    2/62

    Introduction to Programming 2 2

    Topics

    ? Object-Oriented Concepts

    ? Java Program Structure

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    3/62

    Introduction to Programming 2 3

    Object-Oriented Concepts? Object-Oriented Design

    Focuses on object and classes based on real world scenarios

    Emphasizes state, behavior and interaction of objects

    Advantages:

    ? Faster development

    ? Increased quality

    ? Easier maintenance

    ? Enhanced modifiability

    ? Increase software reuse

    ? Class

    Allows you to define new data types

    Blueprint

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    4/62

    Introduction to Programming 2 4

    Object-Oriented Concepts? Object

    An entity that has a state, behavior and identity with a well-definedrole in problem space

    An actual instance of a class

    Created everytime you instantiate a class using the newkeyword.

    Student registration system example

    ? Attribute

    Data element of an object

    Stores information about the object

    A.K.A. Data member, instance variable, property, data field

    Student registration system example

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    5/62

    Introduction to Programming 2 5

    Object-Oriented Concepts

    ? Method

    Describes the behavior of an object

    Also called a function or a procedure

    Student registration system example

    ? Constructor

    Method-like

    For creating and initializing a new object Not members of an object

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    6/62

    Introduction to Programming 2 6

    Object-Oriented Concepts

    ? Package

    Grouping of classes and/or subpackages

    Analogous to a directory

    ? Encapsulation

    Principle of hiding design or implementation information not relevantto the current object

    ? Abstraction

    Ignoring aspects of a subject not relevant to the current purpose tofocus on those that are

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    7/62

    Introduction to Programming 2 7

    Object-Oriented Concepts

    ? Inheritance

    Relationship between classes wherein one class is the superclass orthe parent class of another

    Refers to the properties and behaviors received from an ancestor Also know as a "is-a" relationship

    SuperHero

    Superman Spiderman Powerpuff

    Blossom Buttercup Bubbles

    SuperHero

    Superman Spiderman Powerpuff

    Blossom Buttercup Bubbles

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    8/62

    Introduction to Programming 2 8

    Object-Oriented Concepts

    ? Polymorphism

    "poly" means many while "morph" means form

    Ability of an object to assume may different forms

    ? Interface

    Contract in the form of a collection of method and constantdeclarations

    Implementing class promises to follow the contract.

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    9/62

    Introduction to Programming 2 9

    Java Program Structure:

    Declaring Classes? Syntax

    ::=

    class {

    *

    *

    *

    }

    where

    Modifier

    ? Refers to an access modifier or other types of modifiers

    Name

    ? Is an identifier for the name of the class

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    10/62

    Introduction to Programming 2 10

    Java Program Structure:

    Declaring Classes1 class SuperHero {

    2 String superPowers[];

    3 void setSuperPowers(String superPowers[]) {

    4 this.superPowers = superPowers;

    5 }

    6 void printSuperPowers() {

    7 for (int i = 0; i < superPowers.length; i++) {

    8 System.out.println(superPowers[i]);

    9 }

    10 }

    11 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    11/62

    Introduction to Programming 2 11

    Java Program Structure:

    Declaring Attributes? Syntax:

    ::=

    [= ];

    ::=

    byte | short | int | long | char | float | double

    | boolean |

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    12/62

    Introduction to Programming 2 12

    Java Program Structure:

    Declaring Attributes1 public class AttributeDemo {

    2 private String studNum;

    3 public boolean graduating = false;

    4 protected float unitsTaken = 0.0f;

    5 String college;

    6 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    13/62

    Introduction to Programming 2 13

    Java Program Structure:

    Declaring Methods? Syntax:

    ::=

    (*) {

    *

    }

    ::=

    [,]

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    14/62

    Introduction to Programming 2 14

    Java Program Structure:

    Declaring Methods1 class MethodDemo {

    2 int data;

    3 int getData() {

    4 return data;5 }

    6 void setData(int data) {

    7 this.data = data;

    8 }

    9 void setMaxData(int data1, int data2) {

    10 data = (data1>data2)? data1 : data2;

    11 }

    12 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    15/62

    Introduction to Programming 2 15

    Java Program Structure:

    Declaring a Constructor? Syntax:

    ::=

    (*) {

    *}

    where

    Modifier

    ? Can be any access modifier but not other types of modifiers.

    ? Default constructor

    No arguments

    Empty body

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    16/62

    Introduction to Programming 2 16

    Java Program Structure:

    Declaring a Constructor1 class ConstructorDemo {

    2 private int data;

    3 public ConstructorDemo() {

    4 data = 100;5 }

    6 ConstructorDemo(int data) {

    7 this.data = data;

    8 }

    9 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    17/62

    Introduction to Programming 2 17

    Java Program Structure:

    Instantiating a Class? Syntax:new ()

    ? Example:

    1 class ConstructObj {

    2 int data;

    3 ConstructObj() {

    4 /* initialize data */

    5 }

    6 public static void main(String args[]) {

    7 ConstructObj obj = new ConstructObj();

    8 }

    9 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    18/62

    Introduction to Programming 2 18

    Java Program Structure:

    Accessing Object Members? Dot notation:

    .

    ? Some examples:

    String myString = new String(My String);

    //Access length method

    System.out.println(Length: + myString.length());

    int intArr = {1, 2, 3, 4, 5};

    //Access length attribute

    System.out.println(Length: + intArr.length);

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    19/62

    Introduction to Programming 2 19

    Java Program Structure:Accessing Object Members

    1 class ConstructObj {

    2 int data;

    3 ConstructObj() {

    4 /* initialize data */

    5 }

    6 void setData(int data) {

    7 this.data = data;

    8 }

    9 public static void main(String args[]) {

    10 ConstructObj obj = new ConstructObj();

    11 obj.setData = 10; //access setData()

    12 System.out.println(obj.data); //access data

    13 }

    14 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    20/62

    Introduction to Programming 2 20

    Java Program Structure:

    Packages? Syntax for indicating that the code belongs to a package: ::=

    package ;

    ? Syntax for importing other packages:

    ::=

    import ;

    ? Source code format:

    []

    *

    +

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    21/62

    Introduction to Programming 2 21

    Java Program Structure:

    Packages1 package registration.reports;2 import registration.processing.*;

    3 import java.util.List;

    4 import java.lang.*; //imported by default

    5 class MyClass {

    6 /* details of MyClass */

    7 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    22/62

    Introduction to Programming 2 22

    Java Program Structure:

    The Access Modifiers

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    23/62

    Introduction to Programming 223

    Java Program Structure:Encapsulation

    ? Hide members by making them private

    ? Example

    1 class Encapsulation {

    2 private int secret;

    3 public boolean setSecret(int secret) {

    4 if (secret < 1 || secret > 100)

    5 return false;

    6 this.secret = secret;

    7 return true;

    8 }

    9 public getSecret() {

    10 return secret;

    11 }

    12 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    24/62

    Introduction to Programming 224

    Java Program Structure:

    Inheritance? Creating a child class or a subclass: Use extends in declaring the class

    Syntax:

    class extends

    ? A class can only extend one parent class

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    25/62

    Introduction to Programming 225

    Java Program Structure:

    Inheritance1 import java.awt.*;2

    3 class Point {

    4 int x;

    5 int y;

    6 }

    7

    8 class ColoredPoint extends Point {

    9 Color color;10 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    26/62

    Introduction to Programming 226

    Java Program Structure:

    Overriding Methods? Subclass defines a method whose signature is identical to amethod in the superclass

    ? Signature of a method

    Information found in the method header definition

    ? Return type

    ? Method name

    ? Parameter list of the method

    ? Different from method overloading!

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    27/62

    Introduction to Programming 227

    Java Program Structure:

    Overriding Methods1 class Superclass {2 void display(int n) {

    3 System.out.println("super: " + n);

    4 }

    5 }

    6

    7 class Subclass extends Superclass {

    8 void display(int k) {

    9 System.out.println("sub: " + k);10 }

    11 }

    12

    13 // continued...

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    28/62

    Introduction to Programming 228

    Java Program Structure:

    Overriding Methods14 class OverrideDemo {15 public static void main(String args[]) {

    16 Subclass SubObj = new Subclass();

    17 Superclass SuperObj = SubObj;

    18 SubObj.display(3);

    19 ((Superclass)SubObj).display(4);

    20 }

    21 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    29/62

    Introduction to Programming 229

    Java Program Structure:

    Overriding Methods? Version of method called Based on actual data type of the object that invoked the method

    ?

    Access modifier for the methods need not be the same Access modifier of the overriding method

    ? Same access modifier as that of the overridden method

    ? Less restrictive access modifier

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    30/62

    Introduction to Programming 230

    Java Program Structure:

    Overriding Methods1 class Superclass {2 void overriddenMethod() {

    3 }

    4 }

    5 class Subclass1 extends Superclass {

    6 public void overriddenMethod() {

    7 }

    8 }

    9 class Subclass2 extends Superclass {10 void overriddenMethod() {

    11 }

    12 }

    13 //continued...

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    31/62

    Introduction to Programming 231

    Java Program Structure:

    14 /* class Superclass {

    15 void overriddenMethod() {

    16 }

    17 } */

    18 class Subclass3 extends Superclass {

    19 protected void overriddenMethod() {

    20 }

    21 }

    22 class Subclass4 extends Superclass {23 private void overriddenMethod() {

    24 }

    25 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    32/62

    Introduction to Programming 2 32

    Java Program Structure:

    Abstract Classes and Methods? Syntax:abstract

    (*);

    ? Class containing an abstractmethod should be declaredabstract

    abstract class {

    /* constructors, fields and methods */

    }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    33/62

    Introduction to Programming 2 33

    Java Program Structure:

    Abstract Classes and Methods? abstractkeyword is not for: Constructor

    static method

    ? Classes that extends an abstract class:

    Should implement all abstractmethods

    Otherwise, the subclass itself should be declared abstract

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    34/62

    Introduction to Programming 2 34

    1 abstract class SuperHero {

    2 String superPowers[];

    3 void setSuperPowers(String superPowers[]) {

    4 this.superPowers = superPowers;

    5 }

    6 void printSuperPowers() {

    7 for (int i = 0; i < superPowers.length; i++) {

    8 System.out.println(superPowers[i]);

    9 }

    10 }

    11 abstract void displayPower();

    12 }

    13 //continued...

    Java Program Structure:

    Abstract Classes and Methods

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    35/62

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    36/62

    Introduction to Programming 2 36

    Java Program Structure:

    Interface? Syntax: ::=

    interface {

    *

    [

    (*);]*

    }

    ? Members are publicwhen the interface is declared public

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    37/62

    Introduction to Programming 2 37

    Java Program Structure:Interface

    ? Interface attributes:

    Implicitly staticand final

    Must be initialized

    ? Modifiers:

    Access modifiers: public, package

    Must be initialized

    ? Implementing an interface: Use implementskeyword

    Should implement all the interface's methods

    A class can implement several interfaces

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    38/62

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    39/62

    Introduction to Programming 2 39

    Java Program Structure:Interface

    14 class MyClass2 implements MyInterface {

    15 public void iMethod() {

    16 System.out.println("Another implementation.");

    17 }

    18

    }19 class InterfaceDemo {

    20 public static void main(String args[]) {

    21 MyClass1 mc1 = new MyClass1();

    22 MyClass2 mc2 = new MyClass2();

    23 mc1.iMethod();

    24 mc1.myMethod();

    25 mc2.iMethod();

    26 }

    27 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    40/62

    Introduction to Programming 2 40

    Java Program Structure:

    The thisKeyword? Why this?1. Disambiguate local attribute from a local variable

    2. Refer to the object that invoked the non-static method

    3. Refer to other constructors

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    41/62

    Introduction to Programming 2 41

    Java Program Structure:

    The thisKeyword? Disambiguate local attribute from a local variable1 class ThisDemo1 {

    2 int data;

    3 void method(int data) {

    4 this.data = data;

    5 /*

    6 this.data refers to the attribute

    7 while data refers to the local variable

    8 */

    9 }

    10 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    42/62

    Introduction to Programming 2 42

    Java Program Structure:

    The thisKeyword? Refer to the object that invoked the non-static method1 class ThisDemo2 {

    2 int data;

    3 void method() {

    4 System.out.println(data); //this.data

    5 }

    6 void method2() {

    7 method(); //this.method();

    8 }

    9 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    43/62

    Introduction to Programming 2 43

    Java Program Structure:

    The thisKeyword? Method Overloading Different methods within a class sharing the same name

    Parameter lists should differ

    ? Number of parameters

    ? Type of parameters

    Constructors can also be overloaded

    An example:

    class MyClass {

    void myMeth() {}

    void myMeth(int i) {}

    void myMeth(int i, int j) {}

    }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    44/62

    Introduction to Programming 2 44

    Java Program Structure:

    The thisKeyword? Refer to other constructors1 class ThisDemo3 {

    2 int data;

    3 ThisDemo3() {

    4 this(100);

    5 }

    6 ThisDemo3(int data) {

    7 this.data = data;

    8 }

    9 }

    ? Call to this() should be the first statement in constructor

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    45/62

    Introduction to Programming 2 45

    Java Program Structure:The superKeyword

    ? Related to inheritance

    Invoke superclass constructors

    Can be used like the thiskeyword to refer to members of thesuperclass

    ? Calling superclass constructors

    1 class Person {

    2 String firstName;

    3 String lastName;

    4 Person(String fname, String lname) {

    5 firstName = fname;

    6 lastName = lname;

    7 }

    8 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    46/62

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    47/62

    Introduction to Programming 2 47

    Java Program Structure:

    The superKeyword? Referring to superclass members1 class Superclass{

    2 int a;

    3 void display_a(){

    4 System.out.println("a = " + a);

    5 }

    6 }

    7

    8 //continued...

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    48/62

    Introduction to Programming 2 48

    Java Program Structure:

    The superKeyword9 class Subclass extends Superclass {10 int a;

    11 void display_a(){

    12 System.out.println("a = " + a);

    13 }

    14 void set_super_a(int n){

    15 super.a = n;

    16 }

    17 void display_super_a(){

    18 super.display_a();

    19 }

    20 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    49/62

    Introduction to Programming 2 49

    Java Program Structure:

    The superKeyword21 class SuperDemo {22 public static void main(String args[]){

    23 Superclass SuperObj = new Superclass();

    24 Subclass SubObj = new Subclass();

    25 SuperObj.a = 1;

    26 SubObj.a = 2;

    27 SubObj.set_super_a(3);

    28 SuperObj.display_a();

    29 SubObj.display_a();

    30 SubObj.display_super_a();

    31 System.out.println(SubObj.a);

    32 }

    33 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    50/62

    Introduction to Programming 2 50

    Java Program Structure:

    The staticKeyword? Applied to members of a class: Attributes

    Methods

    Inner classes

    ? Allows accessing of static or class members withoutinstantiation

    ? Class variables

    Behave like a global variable

    Can be accessed by all instances of the class

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    51/62

    Introduction to Programming 2 51

    Java Program Structure:

    The staticKeyword? Class methods May be invoked without creating an object of its class

    Can only access static members of the class

    Cannot refer to thisorsuper

    ? staticblocks

    Executed only once, when the class is loaded

    For initializing class variables

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    52/62

    Introduction to Programming 2 52

    Java Program Structure:

    The staticKeyword1 class Demo {2 static int a = 0;

    3 static void staticMethod(int i) {

    4 System.out.println(i);

    5 }

    6 static { //static block

    7 System.out.println("static block");

    8 a += 1;

    9 }

    10 }

    11

    12 //continued...

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    53/62

    Introduction to Programming 2 53

    Java Program Structure:

    The staticKeyword13 class StaticDemo {14 public static void main(String args[]) {

    15 System.out.println(Demo.a);

    16 Demo.staticMethod(5);

    17 Demo d = new Demo();

    18 System.out.println(d.a);

    19 d.staticMethod(0);

    20 Demo e = new Demo();

    21 System.out.println(e.a);

    22 d.a += 3;

    23 System.out.println(Demo.a+", "+d.a+", "+e.a);

    24 }

    25 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    54/62

    Introduction to Programming 2 54

    Java Program Structure:

    The finalKeyword? Applied to variables, methods and classes

    ? Restricts what we can do with the variables, methods andclasses

    ? finalvariable

    Cannot be modified once its value has been set

    Example:

    final int data = 10;

    data++;

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    55/62

    Introduction to Programming 2 55

    Java Program Structure:The finalKeyword

    ? finalmethod Cannot be overridden

    Example:

    final void myMethod() { //in a parent class

    }void myMethod() { //in a child class

    }

    ? finalclass

    Cannot be inherited

    Example:

    final public class MyClass {}

    class WrongClass extends MyClass {}

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    56/62

    Introduction to Programming 2 56

    Java Program Structure:

    The finalKeyword? Keyword may be placed before after other modifierspublic final static void meth() {} or

    final public static void meth() {} or ...

    //order of modifiers is not important

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    57/62

    Introduction to Programming 2 57

    Java Program Structure:

    Inner Classes? Class declared within another class

    ? Accessing the members of the inner class:

    Need to instatiate an inner class member first

    Example:

    innerObj.innerMember = 5;

    //innerObj is an instance of the inner class

    //innerMember is a member of the inner class

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    58/62

    Introduction to Programming 2 58

    Java Program Structure:

    Inner Classes? Methods of the inner class can directly access members ofthe outer class

    Example:

    1 class Out {

    2 int OutData;

    3 class In {

    4 void inMeth() {

    5 OutData = 10;

    6 }

    7 }

    8 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    59/62

    Introduction to Programming 2 59

    Java Program Structure:

    Inner Classes1 class OuterClass {2 int data = 5;

    3 class InnerClass {

    4 int data2 = 10;

    5 void method() {

    6 System.out.println(data);

    7 System.out.println(data2);

    8 }

    9 }

    10

    11 //continued...

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    60/62

    Introduction to Programming 2 60

    Java Program Structure:

    9 public static void main(String args[]) {

    10 OuterClass oc = new OuterClass();

    11 InnerClass ic = oc.new InnerClass();

    12 System.out.println(oc.data);

    13 System.out.println(ic.data2);

    14 ic.method();

    15 }

    16 }

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    61/62

  • 7/29/2019 JEDI Slides-Intro2-Chapter01-Review of Basic Concepts in Java

    62/62

    Introduction to Programming 2 62

    Summary

    ? Java Program Structure

    Declaring Java Classes

    Declaring Attributes

    Declaring Methods

    Declaring a Constructor

    Instantiating a Class

    Accessing Object Members

    Packages The Access Modifiers

    Encapsulation

    Inheritance

    Overriding Methods

    Abstract Classes and Methods

    Interface

    The this Keyword

    The super Keyword

    The staticKeyword The f inalKeyword

    Inner Classes