Java做爲面向對象編程語言,其思想是將現實中的對象抽象成一個個類的實例進行建模與編程 。包括了類、對象、方法和變量字段等概念。java
類能夠是建立Java對象的模板,例如:編程
public class Bird{ int weight; int age; String color; void fly(){ } void eat(){ } void sleep(){ } }
在Bird這個類中,它就具備weight、age、color三個變量字段,以及fly、eat、sleep三個方法。編程語言
同時,每一個類都有構造方法。若是沒有顯式地爲類定義構造方法,Java編譯器將會爲該類提供一個默認構造方法。在建立一個對象的時候,至少要調用一個構造方法。構造方法的名稱必須與類同名,一個類能夠有多個構造方法。例如:ide
public class Bird{ public int weight; public int age; public String color; public Bird (int weightValue, int ageValue, String colorValue){ weight = weightValue; age = ageValue; color = colorValue; } }
對象是根據類建立的。在Java中,使用關鍵字new來建立一個新的對象。建立對象須要如下三步:函數
Bird myBird = new Bird(11 , 7 , "red");
建立一個對象myBird。在Java語言中,全部的變量在使用前必須聲明。聲明變量的基本格式以下:學習
type identifier [ = value][, identifier [= value] ...] ; 格式說明:type爲Java數據類型。identifier是變量名。可使用逗號隔開來聲明多個同類型變量。
Java語言中變量的類型有:this
類變量(靜態變量):3d
實例變量:code
局部變量:對象
Java方法是語句的集合,相似於C語言中的函數,它們在一塊兒執行一個功能。
方法包含一個方法頭和一個方法體,通常狀況下,定義一個方法包含如下語法:
修飾符 返回值類型 方法名(參數類型 參數名){ ... 方法體 ... return 返回值; }
格式說明:
爲了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。
包的做用:
import 關鍵字:
爲了可以使用某一個包的成員,咱們須要在 Java 程序中明確導入該包。使用 "import" 語句可完成此功能。
在 java 源文件中 import 語句應位於 package 語句以後,全部類的定義以前,能夠沒有,也能夠有多條,其語法格式爲:
import package1[.package2…].(classname|*);
若是在一個包中,一個類想要使用本包中的另外一個類,那麼該包名能夠省略。
繼承就是子類繼承父類的特徵和行爲,使得子類對象(實例)具備父類的實例域和方法,或子類從父類繼承方法,使得子類具備父類相同的行爲。
例如在現實中,鳥、魚、獸都是動物,而鸚鵡、麻雀有同屬於鳥,那麼就能夠將動物類做爲鳥類、魚類、獸類的父類,鳥類、魚類、獸類做爲動物類的子類;同時,鳥類又是鸚鵡類、麻雀類的父類,鸚鵡類、麻雀類是其的子類。
在 Java 中經過 extends 關鍵字能夠申明一個類是從另一個類繼承而來的,通常形式以下:
類的繼承格式 class 父類 { } class 子類 extends 父類 { }
extends關鍵字:
在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,因此 extends 只能繼承一個類。例如:
public class Animal { public int weight; public int old; public String color; public void eat() { } public void sleep() { } } public class Bird extends Animal{ public void fly(){ } } public class Fish extends Animal{ public void swim(){ } }
implements關鍵字:
使用 implements 關鍵字能夠變相的使java具備多繼承的特性,使用範圍爲類繼承接口的狀況,能夠同時繼承多個接口(接口跟接口之間採用逗號分隔)。
public interface A { public void eat(); public void sleep(); } public interface B { public void show(); } public class C implements A,B { }
super 與 this 關鍵字:
super關鍵字:咱們能夠經過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。
this關鍵字:指向本身的引用。
class Animal { void eat() { } } class Bird extends Animal { void eat() { } void eatTest() { this.eat(); // this 調用本身的方法 super.eat(); // super 調用父類方法 } }