Java是一門面向對象的語言,封裝是其其中一個核心概念。封裝意味著將數據和方法包裝在一個單元內部,同時隱藏數據的具體實現,外部只能通過公開的接口訪問數據和方法。這樣做可以提高代碼的可維護性、安全性和靈活性,避免了外部直接訪問數據和方法的風險。
public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
上述代碼中,name和age屬性被聲明為private,只能被該類內部的方法訪問,從而確保了數據的安全性。getName、setName、getAge、setAge方法被聲明為public,可以被外部類訪問,而具體的實現卻是被封裝在類內部,不會暴露給外部.
重構也是Java編程中的一個重要概念,它是指改進代碼的結構和組織,以便更好地滿足需求,提高代碼的質量。重構可以改進代碼的可讀性、可維護性和可擴展性,避免了代碼的冗余、重復和紊亂。
// 重構前,代碼冗余,可讀性較差 public class Calculator { public int add(int a, int b) { int result = a + b; System.out.println("The total is: " + result); return result; } public int sub(int a, int b) { int result = a - b; System.out.println("The difference is: " + result); return result; } public int mul(int a, int b) { int result = a * b; System.out.println("The product is: " + result); return result; } public int div(int a, int b) { int result = a / b; System.out.println("The quotient is: " + result); return result; } } // 重構后,避免了重復代碼,提高了可讀性 public class Calculator { public int calculate(String operator, int a, int b) { int result = 0; switch(operator) { case "+": result = a + b; System.out.println("The total is: " + result); break; case "-": result = a - b; System.out.println("The difference is: " + result); break; case "*": result = a * b; System.out.println("The product is: " + result); break; case "/": result = a / b; System.out.println("The quotient is: " + result); break; default: System.out.println("Invalid operator!"); break; } return result; } }
通過重構,我們將加減乘除方法合并成一個calculate方法,通過傳入不同的operator來進行計算,避免了重復代碼的出現,提高了可讀性和可維護性。