Click here to watch in Youtube : https://www.youtube.com/watch?v=-0Fd6G3Va5o&list=UUhwKlOVR041tngjerWxVccwStudent.java public class Student
{
private String name;
private int age;
private Address address;
public Student(String name, int age, Address address)
{
this.name = name;
this.age = age;
this.address = address;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public Address getAddress()
{
return address;
}
public void setAddress(Address address)
{
this.address = address;
}
}
Address.java public class Address
{
private String country;
private String city;
public Address(String country, String city)
{
this.country = country;
this.city = city;
}
public String getCountry()
{
return country;
}
public void setCountry(String country)
{
this.country = country;
}
public String getCity()
{
return city;
}
public void setCity(String city)
{
this.city = city;
}
public Student getStudentWithAddress(String name, int age)
{
/*
* The this keyword can be passed as argument in the constructor call.
*
* It is useful if we have to use one object in multiple classes.
*/
Student student = new Student(name, age, this);
return student;
}
}
StudentTest.java public class StudentTest
{
public static void main(String[] args)
{
Address addressObject = new Address("India","Bangalore");
Student student = addressObject.getStudentWithAddress("Peter", 27);
System.out.println("Name : "+student.getName());
System.out.println("Age : "+student.getAge());
System.out.println("Country : "+student.getAddress().getCountry());
System.out.println("City : "+student.getAddress().getCity());
}
}