method Statis
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 16 dari 87.
Sama seperti variabel statis yang menjadi milik class, bukan instance, method statis juga menjadi milik class itu sendiri. Kamu dapat memanggilnya tanpa membuat object.
Deklarasikan method static dengan menambahkan kata kunci static:
public class MathHelper {
public static int add(int a, int b) {
return a + b;
}
public static int multiply(int a, int b) {
return a * b;
}
}
// Panggil tanpa membuat object
int sum = MathHelper.add(5, 3); // 8
int product = MathHelper.multiply(4, 2); // 8Method static memiliki satu batasan penting: tidak dapat mengakses variabel instance atau method instance secara langsung. Karena method static ada tanpa object, tidak ada referensi this yang bisa digunakan.
public class Counter {
private int count; // Variabel instans
private static int total; // Variabel statis
public static void incrementTotal() {
total++; // OK: mengakses variabel statis
// count++; // error! Tidak dapat mengakses variabel instans
}
}Static method cocok untuk operasi utilitas yang tidak bergantung pada status object. Contohnya, method seperti Math.sqrt() atau Integer.parseInt(). Static method menyediakan fungsi yang lebih sesuai pada tingkat class daripada untuk setiap object.
Tantangan
MudahMari buat class utilitas StringUtils yang menyediakan method manipulasi string yang berguna tanpa perlu membuat object apa pun, cocok untuk mendemonstrasikan method static!
Kamu akan membuat dua file untuk mengatur kodemu:
StringUtils.java: Buat class utilitas dengan method static yang menjalankan operasi string umum:- Method static
countVowels(String text)yang mengembalikan jumlah huruf vokal (a, e, i, o, u, huruf besar maupun kecil) dalam string yang diberikan - Method static
reverse(String text)yang mengembalikan string dalam urutan terbalik - Method static
isPalindrome(String text)yang mengembalikantruejika string dibaca sama dari depan maupun dari belakang, tanpa membedakan huruf besar dan kecil, danfalsejika tidak
- Method static
Main.java: Gunakan class utilitasmu untuk memproses string. Kamu akan menerima satu input: string teks. Panggil setiap method static langsung melalui nama class dan cetak tiga baris:Vowels: [count]Reversed: [reversed string]Palindrome: trueatauPalindrome: false
Kamu akan menerima satu input: string teks untuk dianalisis.
Ingat, method static dipanggil menggunakan nama class, seperti StringUtils.countVowels(text), bukan dengan membuat instance terlebih dahulu. Ini membuat class utilitas praktis untuk operasi yang tidak perlu mempertahankan state di antara pemanggilan.
Coba sendiri
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
// TODO: Gunakan method statis StringUtils untuk menganalisis teks
// Panggil StringUtils.countVowels(text) untuk mendapatkan jumlah huruf vokal
// Panggil StringUtils.reverse(text) untuk mendapatkan string yang dibalik
// Panggil StringUtils.isPalindrome(text) untuk memeriksa apakah teks merupakan palindrom
// TODO: Cetak hasilnya dalam format berikut:
// Vokal: [count]
// Dibalik: [string yang dibalik]
// Palindrome: true/false
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengantar OOPClass dan ObjectKata Kunci thisMethodField (Atribut)Method KonstruktorOverloading KonstruktorRangkuman: Kalkulator Sederhana4Pewarisan
Pewarisan Dasar (extends)Kata Kunci superMethod Overriding (@Override)Rantai KonstruktorKelas ObjectPewarisan Tunggal dan BertingkatMengapa Tidak Ada Pewarisan Multi-KelasRangkuman: Hierarki Karyawan7method Khusus & class Object
method toString()equals() dan hashCode()method clone()compareTo() dan ComparableAntarmuka ComparatorUlasan: Pengurutan Kustom10Penanganan Exception dalam OOP
Hierarki class ExceptionException KustomError Checked vs UncheckedPola Try-with-ResourcesRekap: Pengguna Tervalidasi2Modifier Akses & Enkapsulasi
Ikhtisar Tingkat AksesMethod Getter dan SetterPenyembunyian InformasiKata Kunci finalUlasan: Pengelola Rekening Bank5Polimorfisme
Dasar method overloadingMethod overriding (Saat program berjalan)Upcasting dan downcastingOperator instanceofclass dan method abstrakUlasan: Kalkulator Bentuk8Konsep OOP Lanjutan
Komposisi vs PewarisanAgregasi vs Komposisiinner, nested, dan anonymous classEnum dan method Enumrecord (Java 16+)sealed class (Java 17+)11Pola Desain Bagian 1
Pengantar Pola DesainPola SingletonPola FactoryPola BuilderPola ObserverPola Strategy3property class dan Anggota Statis
Variabel Instance vs Statismethod StatisBlok StatisKonstanta (static final)Rangkuman: Penghitung dan Utilitas6Antarmuka & Kelas Abstrak
Pengantar AntarmukaMengimplementasikan AntarmukaImplementasi Beberapa AntarmukaDefault & Static pada AntarmukaKelas Abstrak vs AntarmukaAntarmuka FungsionalRekap: Sistem PembayaranLatihan sendiri: Compiler Java online