- Get link
- Other Apps
Pada praktikum
kali ini membahas tentang Inner Class, Collection dan Generics. Inner Class
merupakan sebuah kelas yang didefinisikan di dalam sebuah kelas lainnya. Inner
Class dapat mengakses khusus ke kelas yang melingkupinya. Collection merupakan
obyek khusus yang digunakan untuk menampung banyak objek bertipe apapun.
Generics merupakan Sebuah cara untuk memberikan batasan tipe kepada sebuah
kelas atau fungsi. Di deklarasikan di dalam kelas dan di definisikan saat
instansiasi.
Contoh pengunaan Innner Class :
Contoh
penggunaan Collection :
Contoh
1 Definisi Inner Class di dalam Body Class (Project MyClass1.java) :
Source Code:
/** Main Program MyClass
*/ (MyClas1.java)
package myclass1;
public class
MyClass1 {
public static void main(String[] args) {
OuterDemo.InnerDemo inner =
new OuterDemo().new InnerDemo();
inner.print();
System.out.println("Num =
"+inner.getNum());
}
/** Kelas OuterDemo */
(OuterDemo.java)
package myclass1;
public class
OuterDemo {
private int num;
class InnerDemo {
public void print() {
System.out.println("This is an
inner class");
}
public int getNum() {
return num;
}
}
}
Contoh
2 Definisi Inner Class di dalam Body Method (Project OuterClass.java)
Source Code:
(OuterClass.java)
package outerclass;
public class OuterClass {
void myMethod() {
int num = 23;
class MethodInnerDemo {
public void print() {
System.out.println("The number = "+num);
}
}
MethodInnerDemo mid = new MethodInnerDemo();
mid.print();
}
public static void main(String[] args) {
OuterClass oc = new OuterClass();
oc.myMethod();
}
}
Contoh
3 Collection (Project JavaApplication1.java)
Source Code:
(JavaApplication1.java)
package javaapplication1;
import java.util.*;
public class JavaApplication1 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(200);
list.add("Hello");
list.add(235);
list.add("Donny");
// normal loop
System.out.println("Normal
loop");
for (int i = 0; i < list.size();
i++) {
Object o = list.get(i);
System.out.println(o);
}
// loop using for-element
System.out.println("for-element loop");
for (Object o : list) {
System.out.println(o);
}
// Loop using iterator
System.out.println("loop using
iterator");
Iterator itr =
list.iterator();
while (itr.hasNext()) {
Object o = itr.next();
System.out.println(o);
}
// loop using lambda Expression
System.out.println("loop using
lambda expression");
list.forEach(o ->
System.out.println(o));
// loop using reference
System.out.println("loop using
reference");
list.forEach(System.out::println);
}
}
Contoh 4 Menggunakan Interface
Comparator (Project Employee.java)
Source Code:
(Employee.java)
package employee;
import java.util.*;
public class Employee implements
Comparable<Employee> {
private String name;
private int salary;
public Employee(String name, int salary) {
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public int getSalary() {
return salary;
}
@Override
public String toString() {
return "name=" + name + ", salary=" + salary;
}
@Override
public int compareTo(Employee e) {
return name.compareTo(e.name);
}
public static void main(String[] args) {
List<Employee> listEmp = new
ArrayList();
listEmp.add(new
Employee("bobby", 3000));
listEmp.add(new
Employee("erick", 1600));
listEmp.add(new
Employee("rey", 2500));
listEmp.add(new
Employee("anna", 3500));
Collections.sort(listEmp);
listEmp.forEach(System.out::println);
}
}
Contoh 5 Menggunakan Generics (Project
MyGenerics.java)
Source Code:
(Employee.java)
package mygenerics;
import java.util.*;
public class MyGenerics<E> {
private List<E> list = new
ArrayList<>();
public int getSize() {
return list.size();
}
public void insert(E item) {
list.add(item);
}
public void printAll() {
list.forEach(System.out::println);
}
public static void main(String[] args) {
class Building {
String address;
Building(String address) {
this.address = address;
}
@Override
public String toString() {
return "address: "+address;
}
}
MyGenerics<Building> building = new MyGenerics<>();
building.insert(new Building("Jl Margahayu Raya no. 30"));
building.insert(new
Building("Jl Cisaranten no. 17"));
building.insert(new Building("Jl Banteng no. 25"));
building.insert(new Building("Jl Solokan Jeruk no. 14"));
building.insert(new Building("Jl Telekomunikasi no. 6"));
building.printAll();
}
}
- Get link
- Other Apps
Comments
Post a Comment