Java是一種面向?qū)ο蟮木幊陶Z(yǔ)言。面向?qū)ο缶幊淌且环N將數(shù)據(jù)和行為打包在一起的編程范式,這意味著Java中的大部分編程都涉及到對(duì)象和類。
對(duì)象是指具有狀態(tài)和行為的實(shí)體。Java中的對(duì)象是通過(guò)在類中定義變量和方法來(lái)建立的。變量存儲(chǔ)對(duì)象狀態(tài),而方法定義對(duì)象的行為。Java中的變量分為兩種類型:實(shí)例變量和類變量。實(shí)例變量存儲(chǔ)在對(duì)象中,每個(gè)對(duì)象都有自己的實(shí)例變量。類變量存儲(chǔ)在類本身中,它是在整個(gè)類中共享的。
類是創(chuàng)建對(duì)象的模板。類中包含了變量和方法的定義,定義了對(duì)象的屬性和行為。Java中的類是通過(guò)使用class關(guān)鍵字來(lái)定義的。類可以被繼承,這意味著可以使用一個(gè)類作為另一個(gè)類的基礎(chǔ)。繼承是一種面向?qū)ο缶幊痰闹匾獧C(jī)制,它允許我們保持代碼的可重用性和可擴(kuò)展性。
Java中的面向?qū)ο缶幊踢€涉及到一些重要的概念,如封裝、繼承和多態(tài)性。封裝意味著將數(shù)據(jù)和方法隱藏在對(duì)象中,只提供公共接口給外部使用。繼承允許我們使用一個(gè)類的屬性和方法來(lái)拓展另一個(gè)類。多態(tài)性是指同一方法可以在不同的類中具有不同的行為。
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(); } }
在上面的例子中,我們定義了一個(gè)Person類和一個(gè)Student類。Student類繼承了Person類,具有相同的屬性和方法。我們創(chuàng)建了一個(gè)Person對(duì)象和一個(gè)Student對(duì)象,然后調(diào)用它們的sayHello()方法,得到了不同的輸出。