1 package test_14_3; 2 3 public class Parcel { 4 5 private void internalTracking(boolean b) { 6 7 if (b) { 8 class TrackingSlip { 9 private String id; 10 11 TrackingSlip(String s) { 12 id = s; 13 } 14 15 String getSlip() { 16 System.out.println("this is internalTracking getSlip()"); 17 return id; 18 } 19 } 20 21 TrackingSlip ts = new TrackingSlip("slip"); 22 String s = ts.getSlip(); 23 } 24 25 } 26 27 public void track() { 28 29 internalTracking(true); 30 } 31 32 public static void main(String[] args) { 33 34 /* 35 * TrackingSlip类被嵌入在if语句的作用域内,这并不是说该类的创建是有条件的,它其实与别的类一起编译过了 36 * 然而,在定义TrackingSlip的作用域之外,它是不可用的,除此之外,它和普通的类一样 37 */ 38 Parcel p = new Parcel(); 39 p.track(); 40 41 } 42 43 }
结果如下:
this is internalTracking getSlip()