SlideShare a Scribd company logo
Java Programming Language
Objectives


                In this session, you will learn to:
                   Declare and create arrays of primitive, class, or array types
                   Explain how to initialize the elements of an array
                   Determine the number of elements in an array
                   Create a multidimensional array
                   Write code to copy array values from one array to another
                   Define inheritance, polymorphism, overloading, overriding, and
                   virtual method invocation
                   Define heterogeneous collections




     Ver. 1.0                        Session 4                           Slide 1 of 26
Java Programming Language
Arrays


                Declaring Arrays:
                   Group data objects of the same type.
                   An array is an object.
                   Declare arrays of primitive or class types:
                    • char s[ ];
                    • Point p[ ];
                    • char[ ] s;
                    • Point[ ] p;
                – The declaration of an array creates space for a reference.
                – Actual memory allocation is done dynamically either by a new
                  statement or by an array initializer.




     Ver. 1.0                        Session 4                         Slide 2 of 26
Java Programming Language
Creating Arrays


                In order to create an array object:
                 – Use the new keyword
                 – An example to create and initialize a primitive (char) array:
                    public char[] createArray()
                     {
                             char[] s;
                             s = new char[26];
                             for ( int i=0; i<26; i++ )
                             {
                             s[i] = (char) (’A’ + i);
                             }
                             return s;
                     }


     Ver. 1.0                         Session 4                            Slide 3 of 26
Java Programming Language
Creating Arrays (Contd.)


                Creating an Array of Character Primitives:




     Ver. 1.0                      Session 4                 Slide 4 of 26
Java Programming Language
Creating Reference Arrays


                The following code snippet creates an array of 10
                references of type Point:
                 public Point[] createArray()
                 {
                     Point[] p;
                     p = new Point[10];
                     for ( int i=0; i<10; i++ )
                     {
                       p[i] = new Point(i, i+1);
                     }
                     return p;
                 }


     Ver. 1.0                      Session 4                        Slide 5 of 26
Java Programming Language
Creating Reference Arrays (Contd.)


                Creating an Array of Character Primitives with Point
                Objects:




     Ver. 1.0                      Session 4                           Slide 6 of 26
Java Programming Language
Demonstration


               Lets see how to declare, create, and manipulate an array of
               reference type elements.




    Ver. 1.0                         Session 4                        Slide 7 of 26
Java Programming Language
Multidimensional Arrays


                A Multidimensional array is an array of arrays.
                For example:
                 int [] [] twoDim = new int [4] [];
                 twoDim[0] = new int [5];
                 twoDim[1] = new int[5];
                 – The first call to new creates an object, an array that contains
                   four elements. Each element is a null reference to an element
                   of type array of int.
                 – Each element must be initialized separately so that each
                   element points to its array.




     Ver. 1.0                         Session 4                            Slide 8 of 26
Java Programming Language
Array Bounds


               • All array subscripts begin at 0.
               • The number of elements in an array is stored as part of the
                 array object in the length attribute.
               • The following code uses the length attribute to iterate on
                 an array:
                  public void printElements(int[] list)
                  {
                       for (int i = 0; i < list.length; i++)
                       {
                           System.out.println(list[i]);
                       }
                   }

    Ver. 1.0                         Session 4                        Slide 9 of 26
Java Programming Language
The Enhanced for Loop


                • Java 2 Platform, Standard Edition (J2SE™) version 5.0 has
                  introduced an enhanced for loop for iterating over arrays:
                   public void printElements(int[] list)
                   {
                        for ( int element : list )
                      {
                          System.out.println(element);
                      }
                   }
                   – The for loop can be read as for each element in list do.




     Ver. 1.0                          Session 4                           Slide 10 of 26
Java Programming Language
Array Resizing


                You cannot resize an array.
                You can use the same reference variable to refer to an
                entirely new array, such as:
                 int[] myArray = new int[6];
                 myArray = new int[10];
                   In the preceding case, the first array is effectively lost unless
                   another reference to it is retained elsewhere.




     Ver. 1.0                         Session 4                               Slide 11 of 26
Java Programming Language
Copying Arrays


                • The Java programming language provides a special method
                  in the System class, arraycopy(), to copy arrays.
                  For example:
                   int myarray[] = {1,2,3,4,5,6}; // original array
                   int hold[] = {10,9,8,7,6,5,4,3,2,1}; // new
                   larger array
                   System.arraycopy(myarray,0,hold,0,
                   myarray.length); // copy all of the myarray array to
                   the hold array, starting with the 0th index
                   – The contents of the array hold will be : 1,2,3,4,5,6,4,3,2,1.
                   – The System.arraycopy() method copies references, not
                     objects, when dealing with array of objects.




     Ver. 1.0                          Session 4                             Slide 12 of 26
Java Programming Language
Inheritance


                Inheritance means that a class derives a set of attributes
                and related behavior from a parent class.
                Benefits of Inheritance:
                   Reduces redundancy in code
                   Code can be easily maintained
                   Extends the functionality of an existing class




     Ver. 1.0                        Session 4                        Slide 13 of 26
Java Programming Language
Inheritance (Contd.)


                Single Inheritance
                   The subclasses are derived from one super class.
                   An example of single inheritance is as follows:




     Ver. 1.0                        Session 4                        Slide 14 of 26
Java Programming Language
Inheritance (Contd.)


                Java does not support multiple inheritance.
                Interfaces provide the benefits of multiple inheritance
                without drawbacks.
                Syntax of a Java class in order to implement inheritance is
                as follows:
                 <modifier> class <name> [extends
                 superclass>]
                 {     <declaration>*         }




     Ver. 1.0                      Session 4                         Slide 15 of 26
Java Programming Language
Access Control


                Variables and methods can be at one of the following four
                access levels:
                   public
                   protected
                   default
                   private
                Classes can be at the public or default levels.
                The default accessibility (if not specified explicitly), is
                package-friendly or package-private.




     Ver. 1.0                         Session 4                               Slide 16 of 26
Java Programming Language
Overriding Methods


                A subclass can modify behavior inherited from a parent
                class.
                Overridden methods cannot be less accessible.
                A subclass can create a method with different functionality
                than the parent’s method but with the same:
                   Name
                   Return type
                   Argument list




     Ver. 1.0                      Session 4                         Slide 17 of 26
Java Programming Language
Overriding Methods (Contd.)


                • A subclass method may invoke a superclass method using
                  the super keyword:
                   – The keyword super is used in a class to refer to its
                     superclass.
                   – The keyword super is used to refer to the members of
                     superclass, both data attributes and methods.
                   – Behavior invoked does not have to be in the superclass; it can
                     be further up in the hierarchy.




     Ver. 1.0                          Session 4                           Slide 18 of 26
Java Programming Language
Overriding Methods (Contd.)


                • Invoking Overridden Methods using super keyword:
                    public class Employee
                    {
                       private String name;
                       private double salary;
                       private Date birthDate;
                       public String getDetails()
                       {
                         return "Name: " + name +
                         "nSalary: “ + salary;
                       }
                     }


     Ver. 1.0                       Session 4                        Slide 19 of 26
Java Programming Language
Overriding Methods (Contd.)


                public class Manager extends Employee
                {
                      private String department;
                      public String getDetails() {
                      // call parent method
                      return super.getDetails()
                      + “nDepartment: " + department;
                      }
                  }




     Ver. 1.0                 Session 4            Slide 20 of 26
Java Programming Language
Demonstration


               Lets see how to create subclasses and call the constructor of
               the base class.




    Ver. 1.0                         Session 4                        Slide 21 of 26
Java Programming Language
Polymorphism


               Polymorphism is the ability to have many different forms;
               for example, the Manager class has access to methods
               from Employee class.
                  An object has only one form.
                  A reference variable can refer to objects of different forms.
                  Java programming language permits you to refer to an object
                  with a variable of one of the parent class types.
                  For example:
                  Employee e = new Manager(); // legal




    Ver. 1.0                        Session 4                           Slide 22 of 26
Java Programming Language
Virtual Method Invocation


                Virtual method invocation is performed as follows:
                 Employee e = new Manager();
                 e.getDetails();
                   Compile-time type and runtime type invocations have the
                   following characteristics:
                      The method name must be a member of the declared variable
                      type; in this case Employee has a method called getDetails.
                      The method implementation used is based on the runtime object’s
                      type; in this case the Manager class has an implementation of the
                      getDetails method.




     Ver. 1.0                         Session 4                               Slide 23 of 26
Java Programming Language
Heterogeneous Collections


                Heterogeneous Collections:
                   Collections of objects with the same class type are called
                   homogeneous collections. For example:
                    MyDate[] dates = new MyDate[2];
                    dates[0] = new MyDate(22, 12, 1964);
                    dates[1] = new MyDate(22, 7, 1964);
                   Collections of objects with different class types are called
                   heterogeneous collections. For example:
                    Employee [] staff = new Employee[1024];
                    staff[0] = new Manager();
                    staff[1] = new Employee();
                    staff[2] = new Engineer();




     Ver. 1.0                        Session 4                              Slide 24 of 26
Java Programming Language
Summary


               In this session, you learned that:
                – Arrays are objects used to group data objects of the same
                  type. Arrays can be of primitive or class type.
                – Arrays can be created by using the keyword new.
                – A multidimensional array is an array of arrays.
                – All array indices begin at 0. The number of elements in an
                  array is stored as part of the array object in the length
                  attribute.
                – An array once created can not be resized. However the same
                  reference variable can be used to refer to an entirely new
                  array.
                – The Java programming language permits a class to extend one
                  other class i.e, single inheritance.




    Ver. 1.0                       Session 4                         Slide 25 of 26
Java Programming Language
Summary (Contd.)


               Variables and methods can be at one of the four access levels:
               public, protected, default, or private.
               Classes can be at the public or default level.
               The existing behavior of a base class can be modified by
               overriding the methods of the base class.
               A subclass method may invoke a superclass method using the
               super keyword.
               Polymorphism is the ability to have many different forms; for
               example, the Manager class (derived) has the access to
               methods from Employee class (base).
               Collections of objects with different class types are called
               heterogeneous collections.




    Ver. 1.0                    Session 4                           Slide 26 of 26

More Related Content

PPS
Java session08
PPS
Java session05
PPS
Java session02
PPTX
Core Java Tutorials by Mahika Tutorials
PPT
Java tutorial PPT
ZIP
Introduction to the Java(TM) Advanced Imaging API
PPS
Java session01
PPT
Java platform
Java session08
Java session05
Java session02
Core Java Tutorials by Mahika Tutorials
Java tutorial PPT
Introduction to the Java(TM) Advanced Imaging API
Java session01
Java platform

What's hot (20)

PPT
Unit 2 Java
PPT
Java basic
PPT
JAVA BASICS
PDF
Java Reference
PPTX
Java Notes
PDF
Java Programming
PPT
Java basic tutorial by sanjeevini india
PDF
Basic Java Programming
PPTX
Core java
PPT
Introduction to-programming
PDF
Java programming basics
PPT
Java Basics
PPTX
Basics of Java
PDF
Java quick reference v2
PPT
Presentation to java
PPTX
Java OOP Concepts 1st Slide
PPT
PPTX
Core java
PPTX
Core java complete ppt(note)
PDF
College Project - Java Disassembler - Description
Unit 2 Java
Java basic
JAVA BASICS
Java Reference
Java Notes
Java Programming
Java basic tutorial by sanjeevini india
Basic Java Programming
Core java
Introduction to-programming
Java programming basics
Java Basics
Basics of Java
Java quick reference v2
Presentation to java
Java OOP Concepts 1st Slide
Core java
Core java complete ppt(note)
College Project - Java Disassembler - Description
Ad

Viewers also liked (20)

PDF
CV Vega Sasangka Edi, S.T. M.M
PPT
Advice to assist you pack like a pro in addition
DOC
Terri Kirkland Resume
PPTX
การลอกลาย
PPT
What about your airport look?
PPTX
Marriage
PPT
Strety záujmov pri ťažbe štrkopieskov na Žitnom ostrove
PPT
Brazilian Waxing in Shanghai - An Analysis of Strip's Strategy
PPT
Winter Packing Tips
PDF
[iD]DNA® SKIN AGING - DNAge abstract sample report
PPTX
Features of java
PPT
Java features
DOCX
Lulu Zhang_Resume
PPTX
Teamwork Healthcare work
PPT
Professional Portfolio Presentation
PPT
Macro
DOCX
Basic java important interview questions and answers to secure a job
PDF
Toolkit for supporting social innovation with the ESIF
PDF
Lm wellness massage g10
CV Vega Sasangka Edi, S.T. M.M
Advice to assist you pack like a pro in addition
Terri Kirkland Resume
การลอกลาย
What about your airport look?
Marriage
Strety záujmov pri ťažbe štrkopieskov na Žitnom ostrove
Brazilian Waxing in Shanghai - An Analysis of Strip's Strategy
Winter Packing Tips
[iD]DNA® SKIN AGING - DNAge abstract sample report
Features of java
Java features
Lulu Zhang_Resume
Teamwork Healthcare work
Professional Portfolio Presentation
Macro
Basic java important interview questions and answers to secure a job
Toolkit for supporting social innovation with the ESIF
Lm wellness massage g10
Ad

Similar to Java session04 (20)

PDF
javaarray
PPT
ch11.ppt
PPT
Arrays in java programming language slides
PPT
Arrays in JAVA.ppt
PPTX
Arrays in programming
PPT
17-Arrays en java presentación documento
PPT
JavaYDL6
PDF
Java chapter 6 - Arrays -syntax and use
PPT
Cso gaddis java_chapter8
DOCX
Class notes(week 4) on arrays and strings
PDF
Class notes(week 4) on arrays and strings
PPTX
Java introduction
PPT
ch06.ppt
PPT
PPT
ch06.ppt
PPT
array Details
PPT
Lesson3
PPT
Lesson3
PPTX
Learning core java
PPTX
Android webinar class_java_review
javaarray
ch11.ppt
Arrays in java programming language slides
Arrays in JAVA.ppt
Arrays in programming
17-Arrays en java presentación documento
JavaYDL6
Java chapter 6 - Arrays -syntax and use
Cso gaddis java_chapter8
Class notes(week 4) on arrays and strings
Class notes(week 4) on arrays and strings
Java introduction
ch06.ppt
ch06.ppt
array Details
Lesson3
Lesson3
Learning core java
Android webinar class_java_review

More from Niit Care (20)

PPS
Ajs 1 b
PPS
Ajs 4 b
PPS
Ajs 4 a
PPS
Ajs 4 c
PPS
Ajs 3 b
PPS
Ajs 3 a
PPS
Ajs 3 c
PPS
Ajs 2 b
PPS
Ajs 2 a
PPS
Ajs 2 c
PPS
Ajs 1 a
PPS
Ajs 1 c
PPS
Dacj 4 2-c
PPS
Dacj 4 2-b
PPS
Dacj 4 2-a
PPS
Dacj 4 1-c
PPS
Dacj 4 1-b
PPS
Dacj 4 1-a
PPS
Dacj 1-2 b
PPS
Dacj 1-3 c
Ajs 1 b
Ajs 4 b
Ajs 4 a
Ajs 4 c
Ajs 3 b
Ajs 3 a
Ajs 3 c
Ajs 2 b
Ajs 2 a
Ajs 2 c
Ajs 1 a
Ajs 1 c
Dacj 4 2-c
Dacj 4 2-b
Dacj 4 2-a
Dacj 4 1-c
Dacj 4 1-b
Dacj 4 1-a
Dacj 1-2 b
Dacj 1-3 c

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
sap open course for s4hana steps from ECC to s4
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Java session04

  • 1. Java Programming Language Objectives In this session, you will learn to: Declare and create arrays of primitive, class, or array types Explain how to initialize the elements of an array Determine the number of elements in an array Create a multidimensional array Write code to copy array values from one array to another Define inheritance, polymorphism, overloading, overriding, and virtual method invocation Define heterogeneous collections Ver. 1.0 Session 4 Slide 1 of 26
  • 2. Java Programming Language Arrays Declaring Arrays: Group data objects of the same type. An array is an object. Declare arrays of primitive or class types: • char s[ ]; • Point p[ ]; • char[ ] s; • Point[ ] p; – The declaration of an array creates space for a reference. – Actual memory allocation is done dynamically either by a new statement or by an array initializer. Ver. 1.0 Session 4 Slide 2 of 26
  • 3. Java Programming Language Creating Arrays In order to create an array object: – Use the new keyword – An example to create and initialize a primitive (char) array: public char[] createArray() { char[] s; s = new char[26]; for ( int i=0; i<26; i++ ) { s[i] = (char) (’A’ + i); } return s; } Ver. 1.0 Session 4 Slide 3 of 26
  • 4. Java Programming Language Creating Arrays (Contd.) Creating an Array of Character Primitives: Ver. 1.0 Session 4 Slide 4 of 26
  • 5. Java Programming Language Creating Reference Arrays The following code snippet creates an array of 10 references of type Point: public Point[] createArray() { Point[] p; p = new Point[10]; for ( int i=0; i<10; i++ ) { p[i] = new Point(i, i+1); } return p; } Ver. 1.0 Session 4 Slide 5 of 26
  • 6. Java Programming Language Creating Reference Arrays (Contd.) Creating an Array of Character Primitives with Point Objects: Ver. 1.0 Session 4 Slide 6 of 26
  • 7. Java Programming Language Demonstration Lets see how to declare, create, and manipulate an array of reference type elements. Ver. 1.0 Session 4 Slide 7 of 26
  • 8. Java Programming Language Multidimensional Arrays A Multidimensional array is an array of arrays. For example: int [] [] twoDim = new int [4] []; twoDim[0] = new int [5]; twoDim[1] = new int[5]; – The first call to new creates an object, an array that contains four elements. Each element is a null reference to an element of type array of int. – Each element must be initialized separately so that each element points to its array. Ver. 1.0 Session 4 Slide 8 of 26
  • 9. Java Programming Language Array Bounds • All array subscripts begin at 0. • The number of elements in an array is stored as part of the array object in the length attribute. • The following code uses the length attribute to iterate on an array: public void printElements(int[] list) { for (int i = 0; i < list.length; i++) { System.out.println(list[i]); } } Ver. 1.0 Session 4 Slide 9 of 26
  • 10. Java Programming Language The Enhanced for Loop • Java 2 Platform, Standard Edition (J2SE™) version 5.0 has introduced an enhanced for loop for iterating over arrays: public void printElements(int[] list) { for ( int element : list ) { System.out.println(element); } } – The for loop can be read as for each element in list do. Ver. 1.0 Session 4 Slide 10 of 26
  • 11. Java Programming Language Array Resizing You cannot resize an array. You can use the same reference variable to refer to an entirely new array, such as: int[] myArray = new int[6]; myArray = new int[10]; In the preceding case, the first array is effectively lost unless another reference to it is retained elsewhere. Ver. 1.0 Session 4 Slide 11 of 26
  • 12. Java Programming Language Copying Arrays • The Java programming language provides a special method in the System class, arraycopy(), to copy arrays. For example: int myarray[] = {1,2,3,4,5,6}; // original array int hold[] = {10,9,8,7,6,5,4,3,2,1}; // new larger array System.arraycopy(myarray,0,hold,0, myarray.length); // copy all of the myarray array to the hold array, starting with the 0th index – The contents of the array hold will be : 1,2,3,4,5,6,4,3,2,1. – The System.arraycopy() method copies references, not objects, when dealing with array of objects. Ver. 1.0 Session 4 Slide 12 of 26
  • 13. Java Programming Language Inheritance Inheritance means that a class derives a set of attributes and related behavior from a parent class. Benefits of Inheritance: Reduces redundancy in code Code can be easily maintained Extends the functionality of an existing class Ver. 1.0 Session 4 Slide 13 of 26
  • 14. Java Programming Language Inheritance (Contd.) Single Inheritance The subclasses are derived from one super class. An example of single inheritance is as follows: Ver. 1.0 Session 4 Slide 14 of 26
  • 15. Java Programming Language Inheritance (Contd.) Java does not support multiple inheritance. Interfaces provide the benefits of multiple inheritance without drawbacks. Syntax of a Java class in order to implement inheritance is as follows: <modifier> class <name> [extends superclass>] { <declaration>* } Ver. 1.0 Session 4 Slide 15 of 26
  • 16. Java Programming Language Access Control Variables and methods can be at one of the following four access levels: public protected default private Classes can be at the public or default levels. The default accessibility (if not specified explicitly), is package-friendly or package-private. Ver. 1.0 Session 4 Slide 16 of 26
  • 17. Java Programming Language Overriding Methods A subclass can modify behavior inherited from a parent class. Overridden methods cannot be less accessible. A subclass can create a method with different functionality than the parent’s method but with the same: Name Return type Argument list Ver. 1.0 Session 4 Slide 17 of 26
  • 18. Java Programming Language Overriding Methods (Contd.) • A subclass method may invoke a superclass method using the super keyword: – The keyword super is used in a class to refer to its superclass. – The keyword super is used to refer to the members of superclass, both data attributes and methods. – Behavior invoked does not have to be in the superclass; it can be further up in the hierarchy. Ver. 1.0 Session 4 Slide 18 of 26
  • 19. Java Programming Language Overriding Methods (Contd.) • Invoking Overridden Methods using super keyword: public class Employee { private String name; private double salary; private Date birthDate; public String getDetails() { return "Name: " + name + "nSalary: “ + salary; } } Ver. 1.0 Session 4 Slide 19 of 26
  • 20. Java Programming Language Overriding Methods (Contd.) public class Manager extends Employee { private String department; public String getDetails() { // call parent method return super.getDetails() + “nDepartment: " + department; } } Ver. 1.0 Session 4 Slide 20 of 26
  • 21. Java Programming Language Demonstration Lets see how to create subclasses and call the constructor of the base class. Ver. 1.0 Session 4 Slide 21 of 26
  • 22. Java Programming Language Polymorphism Polymorphism is the ability to have many different forms; for example, the Manager class has access to methods from Employee class. An object has only one form. A reference variable can refer to objects of different forms. Java programming language permits you to refer to an object with a variable of one of the parent class types. For example: Employee e = new Manager(); // legal Ver. 1.0 Session 4 Slide 22 of 26
  • 23. Java Programming Language Virtual Method Invocation Virtual method invocation is performed as follows: Employee e = new Manager(); e.getDetails(); Compile-time type and runtime type invocations have the following characteristics: The method name must be a member of the declared variable type; in this case Employee has a method called getDetails. The method implementation used is based on the runtime object’s type; in this case the Manager class has an implementation of the getDetails method. Ver. 1.0 Session 4 Slide 23 of 26
  • 24. Java Programming Language Heterogeneous Collections Heterogeneous Collections: Collections of objects with the same class type are called homogeneous collections. For example: MyDate[] dates = new MyDate[2]; dates[0] = new MyDate(22, 12, 1964); dates[1] = new MyDate(22, 7, 1964); Collections of objects with different class types are called heterogeneous collections. For example: Employee [] staff = new Employee[1024]; staff[0] = new Manager(); staff[1] = new Employee(); staff[2] = new Engineer(); Ver. 1.0 Session 4 Slide 24 of 26
  • 25. Java Programming Language Summary In this session, you learned that: – Arrays are objects used to group data objects of the same type. Arrays can be of primitive or class type. – Arrays can be created by using the keyword new. – A multidimensional array is an array of arrays. – All array indices begin at 0. The number of elements in an array is stored as part of the array object in the length attribute. – An array once created can not be resized. However the same reference variable can be used to refer to an entirely new array. – The Java programming language permits a class to extend one other class i.e, single inheritance. Ver. 1.0 Session 4 Slide 25 of 26
  • 26. Java Programming Language Summary (Contd.) Variables and methods can be at one of the four access levels: public, protected, default, or private. Classes can be at the public or default level. The existing behavior of a base class can be modified by overriding the methods of the base class. A subclass method may invoke a superclass method using the super keyword. Polymorphism is the ability to have many different forms; for example, the Manager class (derived) has the access to methods from Employee class (base). Collections of objects with different class types are called heterogeneous collections. Ver. 1.0 Session 4 Slide 26 of 26