Menu
CoddyTech

Kata Kunci this

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 4 dari 87.

Kata kunci this merujuk pada instance class saat ini. Kata kunci ini membedakan field dan parameter yang memiliki nama sama.

Tanpa this, parameter menutupi field

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // Menetapkan nilai parameter ke dirinya sendiri!
    }
}

Menggunakan this untuk menetapkan nilai dengan benar

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Menetapkan parameter ke field
    }
    
    public String getName() {
        return this.name;
    }
}

Menggunakan this dalam method

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getDescription() {
        return this.name + " is " + this.age + " years old";
    }
}

Kata kunci this selalu merujuk ke object saat ini. Kata kunci ini penting saat nama parameter sama dengan nama field, sehingga mencegah kebingungan dan bug.

challenge icon

Tantangan

Sedang

Lengkapi class Person menggunakan kata kunci this untuk membedakan field dari parameter:

  • Constructor yang menggunakan this untuk menetapkan parameter ke field
  • Getter method yang menggunakan this untuk mengakses field
  • Method getDescription() yang mengembalikan "<name>, age <age>, from <city>"

Coba sendiri

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        int age = Integer.parseInt(scanner.nextLine());
        String city = scanner.nextLine();
        
        Person person = new Person(name, age, city);
        
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
        System.out.println(person.getDescription());
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Java online