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

What's hot (20)

PPT
Unit 2 Java
arnold 7490
 
PPT
Java basic
Arati Gadgil
 
PPT
JAVA BASICS
VEERA RAGAVAN
 
PDF
Java Reference
khoj4u
 
PPTX
Java Notes
Sreedhar Chowdam
 
PDF
Java Programming
Anjan Mahanta
 
PPT
Java basic tutorial by sanjeevini india
Sanjeev Tripathi
 
PDF
Basic Java Programming
Math-Circle
 
PPTX
Core java
Shivaraj R
 
PPT
Introduction to-programming
BG Java EE Course
 
PDF
Java programming basics
Hamid Ghorbani
 
PPT
Java Basics
shivamgarg_nitj
 
PPTX
Basics of Java
Sherihan Anver
 
PDF
Java quick reference v2
Christopher Akinlade
 
PPT
Presentation to java
Ganesh Chittalwar
 
PPTX
Java OOP Concepts 1st Slide
sunny khan
 
PPT
Java Basics
Dhanunjai Bandlamudi
 
PPTX
Core java
Ravi varma
 
PPTX
Core java complete ppt(note)
arvind pandey
 
PDF
College Project - Java Disassembler - Description
Ganesh Samarthyam
 
Unit 2 Java
arnold 7490
 
Java basic
Arati Gadgil
 
JAVA BASICS
VEERA RAGAVAN
 
Java Reference
khoj4u
 
Java Notes
Sreedhar Chowdam
 
Java Programming
Anjan Mahanta
 
Java basic tutorial by sanjeevini india
Sanjeev Tripathi
 
Basic Java Programming
Math-Circle
 
Core java
Shivaraj R
 
Introduction to-programming
BG Java EE Course
 
Java programming basics
Hamid Ghorbani
 
Java Basics
shivamgarg_nitj
 
Basics of Java
Sherihan Anver
 
Java quick reference v2
Christopher Akinlade
 
Presentation to java
Ganesh Chittalwar
 
Java OOP Concepts 1st Slide
sunny khan
 
Core java
Ravi varma
 
Core java complete ppt(note)
arvind pandey
 
College Project - Java Disassembler - Description
Ganesh Samarthyam
 

Viewers also liked (20)

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

Similar to Java session04 (20)

PPTX
CH1 ARRAY (1).pptx
AnkitaVerma776806
 
PPTX
JAVA INETRNSHIP1 made with simple topics.ppt.pptx
fwzmypc2004
 
PDF
4CS4-25-Java-Lab-Manual.pdf
amitbhachne
 
PPTX
Object Oriented Programming unit 1 content for students
ASHASITTeaching
 
PPT
Collections and generic class
ifis
 
PPT
Core_java_ppt.ppt
SHIBDASDUTTA
 
PDF
Java Interview Questions PDF By ScholarHat
Scholarhat
 
PPT
06slide
Dorothea Chaffin
 
PPTX
Java Notes by C. Sreedhar, GPREC
Sreedhar Chowdam
 
PDF
Core Java Programming Language (JSE) : Chapter V - Arrays
WebStackAcademy
 
PDF
Java Interview Questions for 10+ Year Experienced PDF By ScholarHat
Scholarhat
 
PPTX
Java programing language unit 1 introduction
chnrketan
 
PPTX
Arrays in java.pptx
Nagaraju Pamarthi
 
PPTX
05. Java Loops Methods and Classes
Intro C# Book
 
PDF
Lecture 9
Debasish Pratihari
 
PDF
21UCAC31 Java Programming.pdf(MTNC)(BCA)
ssuser7f90ae
 
PPTX
oops concept in java | object oriented programming in java
CPD INDIA
 
PPTX
Java basic part 2 : Datatypes Keywords Features Components Security Exceptions
Soumen Santra
 
PDF
Java Course 4: Exceptions & Collections
Anton Keks
 
CH1 ARRAY (1).pptx
AnkitaVerma776806
 
JAVA INETRNSHIP1 made with simple topics.ppt.pptx
fwzmypc2004
 
4CS4-25-Java-Lab-Manual.pdf
amitbhachne
 
Object Oriented Programming unit 1 content for students
ASHASITTeaching
 
Collections and generic class
ifis
 
Core_java_ppt.ppt
SHIBDASDUTTA
 
Java Interview Questions PDF By ScholarHat
Scholarhat
 
Java Notes by C. Sreedhar, GPREC
Sreedhar Chowdam
 
Core Java Programming Language (JSE) : Chapter V - Arrays
WebStackAcademy
 
Java Interview Questions for 10+ Year Experienced PDF By ScholarHat
Scholarhat
 
Java programing language unit 1 introduction
chnrketan
 
Arrays in java.pptx
Nagaraju Pamarthi
 
05. Java Loops Methods and Classes
Intro C# Book
 
21UCAC31 Java Programming.pdf(MTNC)(BCA)
ssuser7f90ae
 
oops concept in java | object oriented programming in java
CPD INDIA
 
Java basic part 2 : Datatypes Keywords Features Components Security Exceptions
Soumen Santra
 
Java Course 4: Exceptions & Collections
Anton Keks
 
Ad

More from Niit Care (20)

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

Recently uploaded (20)

PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
PDF
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
Fwdays
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PPTX
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PDF
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
PDF
GITLAB-CICD_For_Professionals_KodeKloud.pdf
deepaktyagi0048
 
PDF
Sustainable and comertially viable mining process.pdf
Avijit Kumar Roy
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
Rethinking Security Operations - Modern SOC.pdf
Haris Chughtai
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
Are there government-backed agri-software initiatives in Limerick.pdf
giselawagner2
 
PDF
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
PDF
HydITEx corporation Booklet 2025 English
Георгий Феодориди
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
Fwdays
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
GITLAB-CICD_For_Professionals_KodeKloud.pdf
deepaktyagi0048
 
Sustainable and comertially viable mining process.pdf
Avijit Kumar Roy
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
Rethinking Security Operations - Modern SOC.pdf
Haris Chughtai
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Are there government-backed agri-software initiatives in Limerick.pdf
giselawagner2
 
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
HydITEx corporation Booklet 2025 English
Георгий Феодориди
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 

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