CS2514

Introduction to Java

Dr Derek Bridge

School of Computer Science & Information Technology

University College Cork

Variables

Variable declaration

Variable scope

Variable initialization

Default initial values

Data typeDefault value
int 0
double 0.0
boolean false
String, Scanner, Random, Dog,... null

Class exercise

What will d1's instance variables contain? And d2's?

class Dog {

    String name;
    int age;
    String breed = "Mongrel";

    public void setName(String s) {
        name = s;
    }

    // etc.

}
 
class DogTester {

    public static void main(String[] args) {
        Dog d1 = new Dog();
        Dog d2 = new Dog();
        d2.setBreed("Colombian Drug Lord");
        // etc.
    }

}

Constructors: why we want them

Constructors: how to write them

Class exercise

What will d1's instance variables contain? And d2's?

class Dog {

    String name;
    int age;
    String breed;
    
    public Dog(String s1, int n, String s2) {
        name = s1;
        age = n;
        breed= s2;
    }

    public void setName(String s) {
        name = s;
    }

    // etc.

}
class DogTester {

    public static void main(String[] args) {
        Dog d1 = new Dog("Charles", 2, "Charlywawa");
        Dog d2 = new Dog("Colin", 7, "Colombian Drug Lord");
        d1.setName("Charlie");
        // etc.
    }

}

Class exercise

Define a BankAccount class

class BankAccountTester {

    public static void main(String[] args) {
        BankAccount ac1 = new BankAccount("Sir Hugh Jeegoh");
        BankAccount ac2 = new BankAccount("UCC");
        
        ac2.deposit(1000);
        System.out.println(ac2.getBalance());
        
        ac1.withdraw(50);
        System.out.println(ac1.getNumTransactions());
        
        System.out.println(ac1);
    }
}

BankAccount interface

public BankAccount(String s)
            
public void deposit(int amount)

public void withdraw(int amount)

public int getBalance()

public int getNumTransactions()

public String toString()

BankAccount class definition

class BankAccount {

    String name;
    int balance;
    int numTransactions;
    
    public BankAccount(String s) {
        name = s;
    }
    
    public void deposit(int amount) {
        balance = balance + amount;
        numTransactions = numTransactions + 1;
    }
    
    public void withdraw(int amount) {
        balance = balance - amount;
        numTransactions = numTransactions + 1;
    }
    
    public int getBalance() {
        return balance;
    }
    
    public int getNumTransactions() {
        return numTransactions;
    }
    
    public String toString() {
        return "Account name: " + name + " Balance: " + balance + " Number of transcations: " + numTransactions;
    }

}