1 public class Univ Class public class Student
複数リファレンスで 1つのインスタンスを指す public class Univ. Class { public class Student { private Student student; public static void main(String[] args) { Univ. Class uc=new Univ. Class(); Student s=new Student(); s. set. Univ. Class(uc); } public Student get. Student() { return student; } public void set. Student(Student student) { this. student = student; } private Univ. Class univ. Class; public static void main(String[] args) { } public Univ. Class get. Univ. Class() { return univ. Class; } public void set. Univ. Class(Univ. Class univ. Class) { this. univ. Class = univ. Class; } } } uc univ. Class : Unv. Class 異なるクラス間で同一インスタンスの共有ができる. 4
例 public class Human extends Animal { public static void main(String[] args) { Human h=new Human(); Animal a=h; Life li=h; } protected void war() {} } あるコード の部分 Human h Animal a Humanのインスタンスだが, そのsuperクラスで参照(refer) してよい. : Human Life li 6
インタフェースでも同様 public class Shindai. Sei implements Student, Private. Teacher, Clerk { public static void main(String[] args) { Shindai. Sei ss=new Shindai. Sei(); Student s=ss; Private. Teacher pt=ss; Clerk c=ss; } 7
例: stdinから文字を読む import java. io. *; // 中略 Input. Stream. Reader isr=new Input. Stream. Reader(System. in); Buffered. Reader br=new Buffered. Reader(isr); int c=0; while(true){ String s=null; try{ s=br. read. Line(); // ココが例外IOExceptionを投げる可能性のある部分 }catch(IOException e){ e. print. Stack. Trace(); // 結果として例外の経緯を表示して, break; // ループを抜ける対処をしている. } System. out. println(c+": "+s); ここでの表現は文 c++; 字列を取得する際 if(s. length()==0) break; } の定型です. 12
- Slides: 17