Java是一種面向對象的編程語言。面向對象編程是一種將數據和行為打包在一起的編程范式,這意味著Java中的大部分編程都涉及到對象和類。
對象是指具有狀態和行為的實體。Java中的對象是通過在類中定義變量和方法來建立的。變量存儲對象狀態,而方法定義對象的行為。Java中的變量分為兩種類型:實例變量和類變量。實例變量存儲在對象中,每個對象都有自己的實例變量。類變量存儲在類本身中,它是在整個類中共享的。
類是創建對象的模板。類中包含了變量和方法的定義,定義了對象的屬性和行為。Java中的類是通過使用class關鍵字來定義的。類可以被繼承,這意味著可以使用一個類作為另一個類的基礎。繼承是一種面向對象編程的重要機制,它允許我們保持代碼的可重用性和可擴展性。
Java中的面向對象編程還涉及到一些重要的概念,如封裝、繼承和多態性。封裝意味著將數據和方法隱藏在對象中,只提供公共接口給外部使用。繼承允許我們使用一個類的屬性和方法來拓展另一個類。多態性是指同一方法可以在不同的類中具有不同的行為。
public class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } public void sayHello() { System.out.println("Hello, my name is " + name + " and I am " + age + " years old."); } } public class Student extends Person { String major; public Student(String name, int age, String major) { super(name, age); this.major = major; } public void sayHello() { System.out.println("Hello, my name is " + name + " and I am " + age + " years old. My major is " + major + "."); } } public class Main { public static void main(String[] args) { Person person = new Person("John", 30); Student student = new Student("Jane", 25, "Computer Science"); person.sayHello(); student.sayHello(); } }
在上面的例子中,我們定義了一個Person類和一個Student類。Student類繼承了Person類,具有相同的屬性和方法。我們創建了一個Person對象和一個Student對象,然后調用它們的sayHello()方法,得到了不同的輸出。