package com.javarush.test.testMain;
/**
 * Created by vasily1 on 28.06.2016.
 */
public class Main
{
    public static void main(String[] args){
        Main myMain = new Main(); //создается объект класса main
        myMain.mainMedodIni(10);  //объект myMain вызывает метод mainMedodIni
        Main myMainTwoLink = myMain.retutnThis(); // создаю новую ссылку типа Main (ссылку не объект!!!)
                                                    //объект myMain вызывает метод retutnThis который возвращает ссылку на сомово себя
        Main myMainThreeLink = myMain.returnMyMain(myMain);  //метод эквивалентен retutnThis() только тут явно передается ссылка
        System.out.println(myMain == myMainTwoLink); // true
        System.out.println(myMain == myMainThreeLink); // true
    }
    private Main returnMyMain(Main myMain)
    {
        return myMain;
    }
    private int mainField;
    private int ini;
    public void mainMedodIni(int ini){
        mainField = ini;   //this подставляется неявно this.mainField = ini; А на самом деле выглядит так myMain.mainField = ini; 
        this.ini = ini;    //все равно что myMain.ini = ini;
    }
    public Main retutnThis(){
        return this;
    }
}