High Fashioners Issue # 2 | 页面 351

J. E. N. I. javac-version-source " 1.5 "-sourcepath src-d classes src / SwapClass. java
Dimana src mengarah pada lokasi dari source code java sementara class mengarah pada lokasi dimana file class akan disimpan. Beriut ini sebuah contoh:
javac-version-source " 1.5 "-sourcepath c:\ temp-d c:\ temp c:/ temp / SwapClass. java
13.4 Constrained Generics
Dalam contoh yang diberikan terdahulu, type parameter dari class BasicGeneric dapat memiliki beberapa referensi tipe data. Ada beberapa kasus, bagaimanapun, dimana anda ingin untuk membatasi tipe instantiasi yang potensial dari class generic. Java juga memungkinkan kita untuk membatasi set argument type yang mungkin untuk subtypes dari sebuah batas type yang diberikan.
Sebagai contoh, kita mungkin ingin untuk mendefinisikan sebuah class generic ScrollPane yang merupakan sebuah template untuk sebuah Container asli yang telah dilengkapi dengan fungsi scrolling. Tipe runtime dari sebuah instance dari class ini akan sering menjadi sebuah subclass dari Container, tapi tipe static atau general adalah Container yang lebih sederhana.
Untuk membatasi instantiasi tipe dari sebuah class, kita menggunakan kata kunci extends diikuti oleh class yang membatasi tipe generic sebagai bagian dari tipe parameter.
Contoh berikut ini membatasi instantiasi tipe dari class ScrollPane ke subtipe dari class Container. class ScrollPane < MyPane extends Container > {
...
}
class TestScrollPane { public static void main( String args []) {
ScrollPane < Panel > scrollPane1 = new
ScrollPane < Panel >(); // pernyataan berikutnya adalah illegal ScrollPane < Button > scrollPane2 = new
ScrollPane < Button >();
}
}
Instantiasi dari scrollPane1 bernilai valid sejak Panel menjadi sebuah subclass dari class Container sedangkan kreasi dari scrollPane2 akan menyebabkan munculnya compile time error sejak Button bukan merupakan sebuah subclass dari Container.
menggunakan generic constrained yang dapat memberikan kita penambahan pengecekan tipe static. Sebagai sebuah hasil, kita akan menjamin bahwa setiap
Pengenalan Pemrograman 2 5