一、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();
}
}
//實例化