Java是一種面向?qū)ο缶幊陶Z(yǔ)言,它的程序結(jié)構(gòu)由類和域組成。
類是Java中的基本編程單元,它定義了一種數(shù)據(jù)類型和這種數(shù)據(jù)類型的操作。一個(gè)Java程序通常由多個(gè)類組成,每個(gè)類都有自己的名稱和代碼塊。在類中可以定義各種方法和變量。
域是類中的數(shù)據(jù)成員,它們可以是實(shí)例變量或靜態(tài)變量。實(shí)例變量是屬于類的每個(gè)實(shí)例的私有數(shù)據(jù),而靜態(tài)變量是屬于整個(gè)類的數(shù)據(jù),它們?cè)谒袑?shí)例之間共享。Java中的域必須被顯式地聲明,并且可以設(shè)置相應(yīng)的訪問(wèn)控制權(quán)限。
public class Person { // 實(shí)例變量 private String name; private int age; // 靜態(tài)變量 private static int count = 0; // 構(gòu)造方法 public Person(String name, int age) { this.name = name; this.age = age; count++; } // 普通方法 public void sayHi() { System.out.println("Hi, my name is " + name + ", I'm " + age + " years old"); } // 靜態(tài)方法 public static int getCount() { return count; } }
在上面的代碼中,Person類有兩個(gè)實(shí)例變量name和age,以及一個(gè)靜態(tài)變量count。它還有一個(gè)構(gòu)造方法和兩個(gè)方法sayHi和getCount。實(shí)例方法sayHi用于打印出每個(gè)實(shí)例的信息,靜態(tài)方法getCount用于返回創(chuàng)建的Person對(duì)象的數(shù)量。
在Java中,類和域的設(shè)計(jì)需要考慮數(shù)據(jù)的封裝性和抽象性。封裝性指的是數(shù)據(jù)的隱藏和保護(hù),通過(guò)限制變量的訪問(wèn)級(jí)別和訪問(wèn)方法,來(lái)保證數(shù)據(jù)不會(huì)被意外修改。抽象性指的是數(shù)據(jù)的概括和總結(jié),通過(guò)定義一些抽象類和接口,來(lái)隔離底層實(shí)現(xiàn)和上層業(yè)務(wù),提高代碼的可重用性。