一、Java包的概念:創建,使用。
1.新建包:
最上面一行,之前不能再有其它代碼了。
package 包名;
注意:包名一般都有命名的規范。例如:com.itnba.maya.zy(從大到小)。
2.使用包:
import 包名.*;
import 包名.類名;
例如:import com.itnba.maya.zy.*;
注意:import不要放在package的上面上
package com.itnba.maya.zy; import com.itnba.maya.zyy.*; //從別的包裡引用 public class Zz { public static void main(String[] args) { fgb aa = new fgb(); //要引用的 } }
二、常量。 final型變量
Java中沒有真正的常量。只有final型的變量,可以當常量來用。
final型變量,只有兩個地方可以賦值,其余的地方是不能放在=左邊的。
1.在定義的時候可以賦值。
2.在構造函數中可以賦值。如果在定義時賦值了,則在構造函數中不能賦值。包括定義時賦了null值,則在構造函數中也不能再賦值。
public class Test1226 { final String name; //定義一個final型變量(常量) public Test1226(){ name = "張三"; //賦值 } }
三、靜態成員
關鍵字:static,與“靜態”相對應的叫“實例”
靜態變量與靜態方法。 -- 實例變量與實例方法。
實例變量與實例方法是屬於每個單個對象的。靜態變量與靜態方法是屬於所有對象共享的,即屬於類的。
靜態變量存儲數據的時候一定要注意防止共享沖突。
靜態方法內只能操作當前類的靜態變量和靜態方法,不能操作實例變量和實例方法。實例方法中可以調用當前類的靜態變量和靜態方法。
單類模式。單例模式。只能生成一個對象。---案例。private 構造函數。靜態方法。
第一步:把構造函數設為private。
第二步:做一個當前類型的靜態的成員變量。
第三步:做一個public的靜態成員方法。用來給第二步中的成員變量實例化,並返回回去。
public class mao { private String mingZi; private static mao aaa; private mao(){ //構造函數private了 mingZi = "貓"; } public static mao zao(){ //用靜態調 if(aaa == null){ aaa = new mao(); //判斷後只new一次 } return aaa; } public String getMingZi(){ return mingZi; } }
public class home { public static void main(String[] args) { //mao a = new mao();構造函數調不著了 mao m1 = mao.zao(); System.out.println(m1.getMingZi()); mao m2 = mao.zao(); System.out.println(m2.getMingZi());//m1和m2是一樣的 } }
四、繼承
關鍵詞:extends
可以把父類中的相關內容直接繼承到子類,子類就不需要再重新定義。
private,的成員無法被繼承
public,protected永遠被繼承。
默認,只有在當前包中可以被繼承。
子類的成員變量與成員方法有兩種操作:一種是擴展,另一種是重寫。
public class Dongwu { protected String name="動物"; public void jiao(){ System.out.println(name); } }
public class Niao extends Dongwu { public void jiao(){ //繼承jiao()方法後重寫 System.out.println("喳喳喳"+this.name); //繼承name } }
public class home { public static void main(String[] args) { Niao a = new Niao(); a.jiao(); } } //實例化