學習程序中經常搞不清匿名類&匿名物件怎么用,今天就把常用的方式總結一遍,
1.創建了非匿名實作類的非匿名物件
1 //定義USB介面 2 interface USB{ 3 void inputInofo(); 4 void outputInfo(); 5 } 6 //USB介面的實作類 7 class Computer implements USB{ 8 9 public void inputInofo() { 10 System.out.println("MyComputer輸入資訊[^L^],,,,,,"); 11 } 12 13 public void outputInfo() { 14 System.out.println("MyComputer輸出資訊[^_^],,,,,,"); 15 } 16 } 17 18 public class mainTest { 19 @Test 20 public void show(){ 21 //1.創建了非匿名實作類的非匿名物件(有實作類名,有物件名) 22 Computer computer = new Computer(); // ==> USB usbImpl = new Computer(); 23 streamData(computer); 24 } 25 26 public void streamData(USB usbImpl){ 27 usbImpl.inputInofo(); 28 usbImpl.outputInfo(); 29 } 30 }
2.創建了非匿名實作類的匿名物件
1 //定義USB介面 2 interface USB{ 3 void inputInofo(); 4 void outputInfo(); 5 } 6 //USB介面的實作類 7 class Computer implements USB{ 8 9 public void inputInofo() { 10 System.out.println("MyComputer輸入資訊[^L^],,,,,,"); 11 } 12 13 public void outputInfo() { 14 System.out.println("MyComputer輸出資訊[^_^],,,,,,"); 15 } 16 } 17 18 public class mainTest { 19 @Test 20 public void show(){ 21 //2.創建了非匿名實作類的匿名物件(有實作類名,沒有物件名),通常作為引數,不用定義變數名了 22 streamData(new Computer()); 23 } 24 25 public void streamData(USB usbImpl){ 26 usbImpl.inputInofo(); 27 usbImpl.outputInfo(); 28 } 29 }
3.創建了匿名實作類的非匿名物件
1 //定義USB介面 2 interface USB{ 3 void inputInofo(); 4 void outputInfo(); 5 } 6 //USB介面的實作類 7 class Computer implements USB{ 8 9 public void inputInofo() { 10 System.out.println("MyComputer輸入資訊[^L^],,,,,,"); 11 } 12 13 public void outputInfo() { 14 System.out.println("MyComputer輸出資訊[^_^],,,,,,"); 15 } 16 } 17 18 public class mainTest { 19 @Test 20 public void show(){ 21 //3.創建了匿名實作類的非匿名物件(沒有實作類名,有物件名) 22 USB usbImpl = new USB() { 23 public void inputInofo() { 24 System.out.println("[匿名實作類,非匿名物件]輸入,,,,"); 25 } 26 27 public void outputInfo() { 28 System.out.println("[匿名實作類,非匿名物件]輸出,,,,"); 29 } 30 }; 31 32 streamData(usbImpl); 33 } 34 35 public void streamData(USB usbImpl){ 36 usbImpl.inputInofo(); 37 usbImpl.outputInfo(); 38 } 39 }
4.創建了匿名實作類的匿名物件
1 //定義USB介面 2 interface USB{ 3 void inputInofo(); 4 void outputInfo(); 5 } 6 //USB介面的實作類 7 class Computer implements USB{ 8 9 public void inputInofo() { 10 System.out.println("MyComputer輸入資訊[^L^],,,,,,"); 11 } 12 13 public void outputInfo() { 14 System.out.println("MyComputer輸出資訊[^_^],,,,,,"); 15 } 16 } 17 18 public class mainTest { 19 @Test 20 public void show(){ 21 //4.創建了匿名實作類的匿名物件(沒有實作類名,沒有物件名),通常作為引數,不用定義變數名了 22 streamData( 23 new USB() 24 { 25 public void inputInofo() { 26 System.out.println("[匿名實作類,匿名物件]輸入,,,,"); 27 } 28 29 public void outputInfo() { 30 System.out.println("[匿名實作類,匿名物件]輸出,,,,"); 31 } 32 } 33 ); 34 } 35 36 public void streamData(USB usbImpl){ 37 usbImpl.inputInofo(); 38 usbImpl.outputInfo(); 39 } 40 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/179247.html
標籤:Java
下一篇:利用反射給物件按順序賦值
