CS2514

Introduction to Java

Dr Derek Bridge

School of Computer Science & Information Technology

University College Cork

Variables

Actual parameters vs. formal parameters

Formal parameters: declaration, initialization and scope

Parameter passing

Example of parameter passing

Class exercise: what will be displayed?

class Swapper {
					    
   public void methodA(int x, int y) {
       int temp = x;
       x = y;
       y = temp;
   }
    
   public void methodB(int[] a) {
       int temp = a[0];
       a[0] = a[1];
       a[1] = temp;
   }
    
}
 
class SwapTester {

   public static void main(String[] args) {
       Swapper sw = new Swapper();
       int[] numbers = {25, 14};
       System.out.println(numbers[0] + " " + numbers[1]);
       sw.methodA(numbers[0], numbers[1]);
       System.out.println(numbers[0] + " " + numbers[1]);
       sw.methodB(numbers);
       System.out.println(numbers[0] + " " + numbers[1]);
   }

}

Associations

Example

class Student {
    
    String name;
    Lecturer supervisor;
    
    public Student(String s) {
        name = s;
    }
    
    public void setSupervisor(Lecturer sprvsr) {
        supervisor = sprvsr;
    }
    
}
class Lecturer {

    String name;
    Student[] supervisees;
    
    public Lecturer(String s) {
        name = s;
        supervisees = new Student[3];
    }
    
    public void addSupervisee(Student stdnt) {
        for (int i = 0; i < 3; i = i + 1) {
            if (supervisees[i] == null) {
                supervisees[i] = stdnt;
                break;
            }
        }
    }
    
}
class UniTester {

    public static void main(String[] args) {
        Lecturer lect = new Lecturer("Dr Guy Dance");
        Student stud1 = new Student("Mr Reggie Mental");
        Student stud2 = new Student("Ms Anna Key");
        stud1.setSupervisor(lect);
        lect.addSupervisee(stud1);
        stud2.setSupervisor(lect);
        lect.addSupervisee(stud2);
    }
    
}