Q:

How to make a variables within a constructor call methods?

So I am doing an assignment that is based around the energy consumption within a house. I have created a Person constructor that emulates a person within the house. I now want to make that person perform a task which is to have a shower. I have added the task into the Person class and now I need to call it in a timePasses() method.
The assignment is about registering the amount of energy consumption used up by applications within a house during a 1 day period. I have created appliances such as PowerShowerthat has a shower() method which reads the amount of energy consumption used by that appliance. Now I have been asked to create a Person class which has people that us these appliances. So I have created a constructor to store the details of the person and now I want to make that person call the PowerShower.shower() method to emulate them using that appliance. I'm having trouble with figuring out how to actually make a person do this task which is what I need help with.
Here is what I have so far:
public abstract class Person 
{
    public int personAge;
    public String personName;

    PowerShower callPowerShower = new PowerShower(1,1,1,1);

    Person(int personAge, String personName) 
    {
        this.personAge = personAge;
        this.personName = personName;

    }

    public void addTask()
    {
        callPowerShower.shower();
    }
    public void timePasses()
    {
        //Make Person execute task callPowerShower.shower().
    }
}

How would I make a person perform the task? Any help is appreciated, thanks.

A:

Assuming shower takes a Person Object as a parameter?    
Person bob = new Person(25,"Bob");
PowerShower callPowerShower = new PowerShower(1,1,1,1);
callPowerShower.shower(bob)

