# import 靜態成員 **Question:** ```java= package exam.ocpjp.v1.q053.clothing; public class Shirt { public static String getColor() { return "Green"; } } ``` ```java= package exam.ocpjp.v1.q053.clothing.pants; import static exam.ocpjp.v1.q053.clothing.Shirt.getColor; public class Jeans { public void matchShirt() { String color = getColor(); if(color.equals("Green")) { System.out.println("Fit"); } } public static void main(String[] args) { Jeans trouser = new Jeans(); trouser.matchShirt(); } } ``` - [參考網站](https://openhome.cc/Gossip/JavaGossip-V1/StaticImport.htm) :::info ### 例子,Arrays 類別 中有很多的靜態方法,為了使用方便,可使用"import static"將這些靜態方法import至程式中,例如: ```java= import static java.lang.System.out; import static java.util.Arrays.sort; public class UseImportStatic { public static void main(String[] args) { int[] array = {2, 5, 3, 1, 7, 6, 8}; sort(array); for(int i : array) { out.print(i + " "); } } } ``` ### 如果您想要import類別下所有的靜態成員,可以使用 '*' 字元,例如: ```java= import static java.lang.System.*; import static java.util.Arrays.*; public class UseImportStatic { public static void main(String[] args) { int[] array = {2, 5, 3, 1, 7, 6, 8}; sort(array); for(int i : array) { out.print(i + " "); } } } ``` 編譯時編譯器遇到該static方法名稱,就會自動讀取該類別的靜態方法,所以這還是編譯器給的蜜糖(Compiler suger)。 ::: ###### tags: `ocpjp`