問題:age在直接被其餘程序建立對象後訪問,形成安全隱患。java
class Person{ int age; //定義成員變量 void speak(){ //定義成員方法 System.out.println("age="+age); } } class PersonDemo{ public static void main(String[] args){ Person p=new Person(); //建立Person類的一個實例化對象 p.age=19; //將類成員變量賦值爲19 p.speak(); //使用對象調用類成員 } }
解決:封裝,讓age不被訪問安全
class Person{ private int age; //爲age設置訪問權限 public void show(int a){ age = a; if(a>1&&a<130){ speak(); }else{ System.out.println("數據不存在"); } } void speak(){ System.out.println("age="+age); } } class PersonDemo{ public static void main(String[] args){ Person p=new Person(); p.show(19); } }
總結:封裝的思想-->對客戶隱藏其實現細節。採用封裝的思想保證了類內部數據結構的完整性,應用該類的用戶不能輕易地直接操做此數據結構,只能執行類容許公開的數據。這樣避免了外部數據對內部數據的影響,提升了程序的可維護性。數據結構