Java >> Java tutorial >  >> Java

Dette søgeord i Java | Metode, reference, konstruktør og eksempler

Hvad er "Dette" søgeord?

Java "dette ” Nøgleord fungerer som en reference til det aktuelle objekt i programmet. Den kan bruges inde i Mmetoden eller konstruktør af Java-klassen.

Hvor bruges dette søgeord i Java?

Her er en liste over dette søgeord kan bruges til:-

  • Se instansvariabel for den aktuelle klasse.
  • Bring eller start den nuværende klassekonstruktør.
  • Bestået som et argument (parametre) i metodekaldet.
  • Bestået som argument (parametre) i konstruktørkaldet.
  • Returner den aktuelle klasseforekomst.

Java dette søgeordsprogram eksempelkode

Lad os se, hvor enkle dette søgeord bruges i java-programmer, eller hvordan det bruges.

Forekomstvariabel | Felt

I dette eksempel bruger du 'dette' søgeord at henvise til aktuelle klasseinstansvariabler.

Se nedenstående kode, hvordan du bruger this.num2 og this.num2 i konstruktøren.

class TestCode {
    int num1;
    int num2;

    // Parameterized constructor 
    TestCode(int num1, int num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

    // method
    void show() {
        //Displaying value of variables a and b 
        System.out.println("Number 1 = " + num1 + "  Number 2 = " + num2);
    }

    public static void main(String[] args) {
        // creating class object
        TestCode testCode = new TestCode(12, 10);
        testCode.show();
    }
} 

Output:

Nummer 1 =12 Nummer 2 =10

"dette" søgeord i Java-metoden

Mange hold bruger dette søgeord med java-metoder. Lad os se et efter et med eksempler.

1. Brug 'dette' søgeord som metodeparameter

class TestCode {

    int num1;
    int num2;

    // Default constructor
    TestCode() {
        num1 = 10;
        num1 = 20;
    }

    // Method with 'this' keyword as parameter
    void display(TestCode object) {
        System.out.println("Number 1 = " + num1 + "  Number 2 = " + num2);
    }

    // Method that returns current class instance
    void get() {
        display(this);
    }

    public static void main(String[] args) {
        TestCode objectTest = new TestCode();
        objectTest.get();
    }
} 

Output:

Nummer 1 =20 Nummer 2 =0

2. Brug 'dette' søgeord til at påberåbe den aktuelle klassemetode

dette søgeord kan bruges inde Metoder til at kalde en anden metode i samme klasse.

class TestCode {

    void msg() {
        // call show() method
        this.show();

        System.out.println("Message Method");
    }

    void show() {
        System.out.println("Show Method");
    }


    public static void main(String args[]) {
        TestCode testCode = new TestCode();
        testCode.msg();
    }
} 

Output:

Vis metode
Beskedmetode

I en konstruktør brugte "dette" søgeord

Hvordan påberåber man den nuværende klassekonstruktør?

Brug af dette nøgleord til at kalde den aktuelle klassekonstruktør. Se nedenfor eksempelprogrammet for Java "dette" i konstruktøren.

class TestCode {
    int num1;
    int num2;

    //Default constructor
    TestCode()
    {
        this(10, 20);
        System.out.println("Default constructor");
    }

    //Parameterized constructor
    TestCode(int a, int b)
    {
        this.num1 = a;
        this.num2 = b;
        System.out.println("Parameterized constructor");
    }

    public static void main(String[] args)
    {
        // creating object of class
        TestCode testCode = new TestCode();
    }
} 

Output:

Parametriseret konstruktør
Standard konstruktør

Hent klasseforekomsten af ​​at bruge 'dette' søgeord

Lad os se eksemplet med at få den aktuelle forekomst af en klasse ved hjælp af en metode.

class TestCode {

    int num1;
    int num2;

    // Default constructor
    TestCode() {
        num1 = 20;
        num1 = 40;
    }

    //Method returns current class instance
    TestCode get()
    {
        return this;
    }

    //Displaying value of variables
    void display()
    {
        System.out.println("Number 1 = " + num1 + "  Number 2 = " + num2);
    }

    public static void main(String[] args)
    {
        TestCode testCode = new TestCode();
        testCode.get().display();
    }
} 

Skriv en kommentar, hvis du er i tvivl om og forslag til denne øvelse.

Bemærk: Dette eksempel (projekt) er udviklet i IntelliJ IDEA 2018.2.6 (Community Edition)
JRE:11.0.1
JVM:OpenJDK 64-Bit Server VM af JetBrains s.r.o
macOS 10.14.1
Java version 11
Alle Java dette søgeordseksempler er i Java 11, så det kan ændre sig på anderledes end Java 9 eller 10 eller opgraderede versioner.


Java tag