package scopeExamples;

public class ScopeExample1 {
	int a;
	
	ScopeExample1 ()
	{
		a = 10;
	}
	
	public double a ()
	{
		return 5.7;
	}
	
	public double a (int r)
	{
		return 3.4 * r;
	}
	
	public double a (String r)
	{
		return 10.0 * r.length();
	}
	
	public double a (int r, String s)
	{
		return -r * s.length();
	}
	
	public double a (String s, int r)
	{
		return 500 + r * s.length();
	}
	public String toString ()
	{
		return "String returned by toString"; 	
	}
	
	public void proc1 ()
	{
		double a = 2.71828;
		System.out.println ("proc1:  a = " + a);
		System.out.println ("   this.a = " + this.a);
	}
	
	public static void main (String args[])
	{
		System.out.println ("Scope example");
		ScopeExample1 a = new ScopeExample1 ();
		System.out.println ("main:   a = " + a);
		System.out.println ("main: a.a = " + a.a);
		System.out.println ("main: a.a(1) = " + a.a(1));
		System.out.println ("main: a.a(\"CSC\") = " + a.a("CSC"));
		System.out.println ("main: a.a(1, \"CSC\") = " + a.a(1, "CSC"));
		System.out.println ("main: a.a(\"CSC\", 1) = " + a.a("CSC", 1));
		a.proc1();
	}

}
