Method calls and Multiple Constructor

Internal method calls:
Example:
public class Outer
{
String ostr = “Outer”;

static String osstr = “Static Outer”;

Outer()
{
System.out.println(ostr);
}

class Inner
{
String istr = “Inner”;

Inner()
{
System.out.println(istr + “\t” + Outer.this.ostr);
}
}

static class Inners
{
String isstr = “Static Inner”;

Inners()
{
System.out.println(isstr + “\t” + Outer.osstr);
}
}

static Inners mess()
{
return(new Inners());
}

public static void main(String args[])
{
Outer.Inner ob = new Outer().new Inner();

Outer.Inners obs = Outer.mess();
}
}
External method calls:
public class Artist
{
private String name;
private Song song;

public Artist(String name)
{
this.name = name;
}

public String getName()
{
return this.name;
}

public void setName(String newName)
{
this.name = newName;
}

public Song getSongs()
{
System.out.println(this.song.listSongs());
}

public void addSong(String song)
{
songs.storeSong(song);
}
}

Multiple Constructor:
A class can have multiple constructors that assign the fields in different ways. Sometimes it’s beneficial to specify every aspect of an object’s data by assigning parameters to the fields, but other times it might be appropriate to define only one or a few.

Spot sp1, sp2;

void setup() {
size(640, 360);
background(204);
noLoop();
// Run the constructor without parameters
sp1 = new Spot();
// Run the constructor with three parameters
sp2 = new Spot(width*0.5, height*0.5, 120);
}

void draw() {
sp1.display();
sp2.display();
}

class Spot {
float x, y, radius;

// First version of the Spot constructor;
// the fields are assigned default values
Spot() {
radius = 40;
x = width*0.25;
y = height*0.5;
}

// Second version of the Spot constructor;
// the fields are assigned with parameters
Spot(float xpos, float ypos, float r) {
x = xpos;
y = ypos;
radius = r;
}
void display() {
ellipse(x, y, radius*2, radius*2);
}

}

 

Comments are closed.