1.
Public ia bisa diakses oleh kelas bawahannya
dengan menggunakan perantara.
class NamaBuku
{
private
String judul;
public
void setJudul(String judul)
{
this.judul=
judul;
}
public
String getJudul(){
return
judul;
}
}
class Perpustakaan
{
public
static void main (String []args)
{
NamaBuku
book = new NamaBuku();
book.setJudul("JAVA");
System.out.println("Buku
ini berjudul " + book.getJudul());
}
}
outputnya :
2.
Protected hampir sama dengan private, hanya saja, ia bisa diakses oleh kelas
bawahannya tanpa menggunakan perantara.
contoh programnya :
public class NamaBuku2
{
protected String name;
}
class buku{
public static void main (String
[]args)
{
NamaBuku2 nb=new NamaBuku2();
nb.name="JAVA";
System.out.println("Buku
Ini Berjudul " + nb.name);
}
}
1.
Abstract class
Adalah sebuah
class setengah jadi (abstrak) yang memuat/memiliki method dan atrribut. Abstract
class sebenarnya adalah sebuah class, sehingga memiliki semua sifat dari
class biasa (punya konstruktor). Hanya saja sifatnya masih abstrak, karena itu
biasanya method kosong/belum di implementasikan. Namun Abstract class
dapat mengimplementasikan method tersebut. Abstract class akan selalu
menjadi superclass / hirarki tertinggi dari subclass-subclass-nya.
Contoh :
abstract class A {
abstract public void name2();
public void name1() {
System.out.println("name
konkrit dari class A");
}
}
class B extends A{
public void name2() {
System.out.println("name
abstrak yang sudah menjadi konkrit dalam class B");
}
}
class Latjava{
public static void main(String[]
args) {
B ob= new B() ;
ob.name1();
ob.name2();
}
}
Interface:
Adalah sebuah
blok signature kumpulan method tanpa tubuh (konstan).
Sebuah
definisi method yang umum/general yang dapat menghubungkan class-class
yang berbeda.Dengan kata lain, interface memungkinkan kita mengimplementasikan
method yang sama terhadap class yang tidak ada hubungan sama sekali (tidak
dalam satu hirarki). Oleh karena itu interface bukanlah sebuah class,
walaupun memiliki ciri yang serupa dengan abstract class.
Contoh
:
interface
AlatMusik
{
void mainkan(
);
void
setelNada( );
String
ambilNama( );
}
class
AlatMusikPetik implements AlatMusik
{
protected
String nama;
public void
mainkan( ){
System.out.println(ambilNama(
) + " dimainkan dengan cara petik");
}
public void
setelNada( ){
System.out.println("Setel
nada pada " + ambilNama( ));
}
public String
ambilNama( ){
return nama;
}
}
class
AlatMusikTiup implements AlatMusik
{
protected
String nama;
public void
mainkan( ){
System.out.println(ambilNama(
) + " dimainkan dengan cara tiup");
}
public void
setelNada( ){
System.out.println("Setel
nada pada " + ambilNama( ));
}
public String
ambilNama( ){
return nama;
}
}
class Gitar
extends AlatMusikPetik{
Gitar(String
nama) {
this.nama =
nama;
}
}
class
Seruling extends AlatMusikTiup{
Seruling(String
nama) {
this.nama =
nama;
}
}
class
DemoInterface{
public static
void main (String[] args) {
AlatMusikPetik
gitar = new AlatMusikPetik();
AlatMusikTiup
seruling = new AlatMusikTiup();
gitar.nama="Gitar";
gitar.mainkan(
);
gitar.setelNada(
);
System.out.println(
);
seruling.nama
= "Seruling";
seruling.mainkan(
);
seruling.setelNada(
);
}
}
outputnya :
Komentar
Posting Komentar