概述java
Java語言是一種面向對象的程序設計語言,而面向對象思想是一種程序設計思想,咱們在面向對象思想的指引下, 使用Java語言去設計、開發計算機程序。 這裏的對象泛指現實中一切事物,每種事物都具有本身的屬性和行爲。面向對象思想就是在計算機程序設計過程當中,參照現實中事物,將事物的屬性特徵、行爲特徵抽象出來,描述成計算機事件的設計思想。 它區別於面向過程思想,強調的是經過調用對象的行爲來實現功能,而不是本身一步一步的去操做實現。
區別:
面向過程:強調步驟。
面向對象:強調對象。程序員
特色數組
面向對象思想是一種更符合咱們思考習慣的思想,它能夠將複雜的事情簡單化,並將咱們從執行者變成了指揮者。 面向對象的語言中,包含了三大基本特徵,即封裝、繼承和多態。ide
類設計
類:是一組相關屬性和行爲的集合。能夠當作是一類事物的模板,使用事物的屬性特徵和行爲特徵來描述該 類事物。code
屬性:就是該事物的狀態信息。
行爲:就是該事物可以作什麼。對象
舉例:小貓。
屬性:名字、體重、年齡、顏色。
行爲:走、跑、叫。繼承
對象教程
對象:是一類事物的具體體現。對象是類的一個實例,必然具有該類事物的屬性 和行爲。 現實中,一類事物的一個實例。接口
舉例:一隻小貓。
屬性:tom、5 kg、2 years、yellow。
行爲:溜牆根走、蹦躂的跑、喵喵叫。
類與對象的關係
事物與類的對比
現實世界的一類事物:
屬性:事物的狀態信息。 行爲:事物可以作什麼。
Java中用class描述事物也是如此:
成員變量:對應事物的屬性 。成員方法:對應事物的行爲
類的定義格式
public class ClassName { //成員變量 //成員方法 }
對象的使用格式
建立對象:
類名 對象名 = new 類名();
使用對象訪問類中的成員:
對象名.成員變量; 對象名.成員方法();
public class Student { //成員變量 String name; int age; //成員方法(不須要寫static關鍵字) public void eat() { System.out.println("吃飯"); } public void sleep() { System.out.println("睡覺"); } }
public class DemoClass { public static void main(String[] arges) { Student stu = new Student(); stu.name = "masahiko"; stu.age = 20; System.out.println("student name:" + stu.name); System.out.println("student age:" + stu.age); stu.eat(); stu.sleep(); } }
成員變量 | 局部變量 | |
---|---|---|
內存中的位置 | 堆內存 | 棧內存 |
在類中的位置 | 類中,方法外 | 方法中或者方法聲明上(形式參數) |
做用範圍 | 類中 | 方法中 |
初始化值 | 有默認值 | 沒有默認值 |
生命週期 | 隨着對象的建立而存在 隨着對象的消失而消失 |
隨着方法的調用而存在 隨着方法的調用完畢而消失 |
數據類型 | 默認值 | |
---|---|---|
基本類型 | 整數(byte,short,int,long) | 0 |
浮點數(float,double) | 0.0 | |
字符(char) | '\u0000' | |
布爾(boolean) | false | |
引用類型 | 數組,類,接口 | null |
參考資料:
《Java核心技術 卷I 》Cay S. Horseman 《Java教程零基礎入門到精通IDEA版》黑馬程序員