Java是面向對象編程語言中的一員,面向對象編程強調對象的狀態和行為。狀態是指對象所擁有的屬性,行為則是指對象所能夠進行的操作。Java中也同樣如此,狀態和行為密不可分,互相影響。
public class Person { private String name; private int age; // 構造方法 public Person(String name, int age) { this.name = name; this.age = age; } // getter/setter方法 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; } // 行為方法 public void introduce() { System.out.println("我是" + name + ",今年" + age + "歲。"); } }
在上述代碼中,Person類擁有name和age兩個狀態屬性,以及introduce方法這個行為操作。通過構造方法和getter/setter方法可以對狀態進行操作,而調用行為方法可以對狀態進行改變和輸出。例如:
public static void main(String[] args) { Person person = new Person("小明", 18); person.introduce(); // 輸出:我是小明,今年18歲。 person.setName("小紅"); person.setAge(20); person.introduce(); // 輸出:我是小紅,今年20歲。 }
可以看到,在改變了Person的狀態屬性之后,調用introduce方法輸出的信息也會相應改變。這也是狀態和行為密不可分的體現,狀態影響行為,行為改變狀態。
在Java中,狀態和行為的聯系是十分緊密的。只有充分理解了對象的狀態和行為之間的關系,才能更好的設計出合理的面向對象程序。