Metode Konstruktor ing Java I Constructor Overload
Sumber: Objectorientedprogramming77 Apa itu Konstruktor ? Iki minangka jinis metode khusus sing jenenge padha karo jeneng kelas, sing nemtokake cara obyek kasebut diwiwiti nalika digawe. Kaya cara liyane, kita uga bisa nemtokake cara Constructor ing program Jawa kita, nanging ora kaya cara liyane, kita ora bisa nelpon Constructor langsung; Jawa nelpon konstruktor kanthi otomatis nalika obyek digawe. Nalika nggunakake tembung kunci anyar kanggo nggawe obyek saka kelas, Jawa nindakake telung perkara:- Alokasi memori kanggo obyek.
- Miwiti variabel conto obyek iki kanthi nilai awal utawa standar.
- Nelpon konstruktor Metode kelas.
Konstruktor dhasar
Miturut definisi, Konstruktor katon kaya cara biasa kanthi rong beda utama.- Konstruktor lan jeneng kelas tansah padha.
- Ora ana jinis bali
class Person
{
String name;
int age;
Person (String n, int a)
{
name = n;
age = a;
}
void printPerson ()
{
System.out.print("Hi, I am " +name);
System.out.println(" I am "+ age + " years old.");
}
public static void main(String args[])
{
Person p;
p = new Person ("Ajab", 20);
p.printPerson();
p = new Person ("Rizwan", 30);
p.printPerson();
Kita entuk output:
Hai, aku Ajab. Aku 20 taun. Hai, aku Rizwan. Aku 30 taun
Konstruktor kakehan
Kaya cara liyane, Konstruktor uga bisa nampa macem-macem nomer lan jinis paramèter, ngidini obyek digawe kanthi sifat tartamtu, utawa ngidini Konstruktor ngetung properti adhedhasar macem-macem jinis input. Contone, kelas MyRectone ing tabel tartamtu nggawe konstruktor MyRectone lan ngliwati parameter sing beda tinimbang nggawe cara sing beda kanggo argumen sing diwenehake.class MyRectone
{
int x1 = 0;
int y1 = 0;
int x2 = 0;
int y2 = 0;
MyRectone ( int x1, int x2, int x2, int y2)
{
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
MyRectone (Point topLeft, Point bottomRight)
{
x1 = topLeft.x;
y1 = topLeft.y;
x2 = bottomRight.x;
y2 = bottomRight.y;
}
MyRectone ( Point topLeft, int w, int h)
{
x1 = topLeft.x;
y1 = top left.y;
x2 = ( x1 + w);
y2 = (y1 + h);
}
void printRect ()
{
System.out.print ("MyRectone: <" + x1 + ", " + y1);
system.out.println (", " + x2 + " ,"+ y2 + ">");
}
public static void main (String args [] )
{
MyRectone rect;
System.out.println ("Calling MyRectone with coordinates 35,35 70,70");
rect = new MyRectone (35,35,70,70);
rect.printRect();
System.out.println ("Calling MyRectone with coordinates (15,15) (30,30)");
rect = new MyRectone (15,15,30,30);
rect.printRect();
System.out.print (" Calling buildRect w/1 point (10,10),");
System.out.println ("width (50) and height (50)");
rect = new MyRectone ( new Point (10,10), 50, 50);
rect.printRect();
Kesimpulan:
Nelpon MyRectone kanthi koordinat 35,35 70,70: MyRectone: <35,35,70,70> Nelpon buildRect w/1 poin (15,15), (30,30): MyRectone: <15,15,30,30 > Nelpon buildRect w/1 titik (10,10), jembaré (50) lan dhuwur (50): MyRectone:<10,10,50,50>
Nelpon Konstruktor liyane
Konstruktor bisa dadi superset saka konstruktor liyane sing ditetepake ing kelas sampeyan; sing, padha bisa nindakake padha plus sethitik liyane. Tinimbang duplikat prilaku sing padha ing pirang-pirang metode konstruktor ing kelas kita, mula bisa diarani mung konstruktor pisanan saka awak konstruktor kapindho. Jawa menehi sintaks khusus kanggo iki. Kanggo nelpon konstruktor sing ditetepake ing kelas saiki, gunakake formulir iki:this (arg1, arg2, arg3… ..);
Argumentasi kanggo iki , mesthi, argumen kanggo konstruktor.
Kelas lan Antarmuka Jawa Abstrak
Sumber: Dev.to Kelas abstrak yaiku kelas sing duwe sawetara metode tanpa definisi lengkap lan duwe modifier abstrak .- Sampeyan ora bisa nggawe obyek nggunakake konstruktor kelas abstrak.
- Sampeyan bisa nggunakake kelas abstrak minangka kelas dhasar kanggo nemtokake kelas asale.
- Kelas abstrak nduweni paling ora siji metode abstrak.
- Cara abstrak : nduweni header kaya cara biasa, nanging tanpa awak, lan mbutuhake modifier abstrak lan titik koma.
- Cara abstrak ora bisa pribadi.
- Kelas abstrak bisa dadi jinis.
public abstract class Example{
private String data1;
private double data2;
public abstract double getPay();
}
Antarmuka : Nemtokake sakumpulan metode sing kudu diduweni kelas apa wae sing ngetrapake antarmuka iki.
- Antarmuka minangka jinis.
- Isine header metode tanpa definisi lan ora ana variabel conto:
public interface Interface1{
public void method1();
public int method2();
}
Kanggo ngleksanakake antarmuka, kelas kudu nindakake rong perkara:
- Kalebu ngleksanakake InterfaceName .
- Kelas kudu ngetrapake kabeh header metode sing kadhaptar ing antarmuka.
public class Implementer implements Interface1 {
@Override
public void method1() {
//definition
}
@Override
public int method2() {
//definition
}
}
- Header metode diumumake umum .
- Kelas abstrak uga bisa ngleksanakake antarmuka, kelas iki menehi definisi kanggo sawetara saka header cara ing antarmuka.
- Antarmuka Jawa uga bisa ngemot konstanta , contone:
public interface Constant {
public static final int JANUARY = 1, FEBRUARY = 2, MARCH = 3;
}
- Sembarang kelas sing ngetrapake antarmuka Konstan bakal kanthi otomatis duwe konstanta iki, contone:
public class Constants implements Constant {
public static void main(String[] args) {
System.out.println(JANUARY);
}
}
- Sampeyan bisa nyampur panggunaan antarmuka kanthi nyakup konstanta lan header metode menyang antarmuka siji.
- Jawa ora ndhukung sawetara warisan, dadi kelas mung bisa ngluwihi siji kelas dhasar. Nanging, nggunakake antarmuka, kelas bisa ngetrapake macem-macem antarmuka:
public class Implementer implements Interface1, Interface2, .. InterfaceN{
}
- Alesan kenapa kelas Jawa mung bisa ngluwihi siji kelas dhasar amarga yen Jawa ngidini rong kelas dhasar, loro kelas kasebut bisa duwe header metode sing padha karo definisi sing beda, sing nyebabake inkonsistensi.
- Loro antarmuka bisa ora kompatibel yen sampeyan nemtokake rong konstanta kanthi jeneng sing padha lan nilai sing beda:
public interface Interface1{
public static final int ANSWEAR = 0;
}
public interface Interface1{
public static final int ANSWEAR = 3;
}
GO TO FULL VERSION