java的第一章節

java基礎:
一次編譯,到處執行。
特性:
一個純的面向對象的程序設計語言。
java語言是分佈式的,健壯的,安全的,體系結構中立,可移植性,解釋型,支持多線程,動態,
開發環境配置,
開發工具,
面向對象的特徵:封裝,繼承,抽象,多態性,
數據類型:byte,boolean,short,int,double,long,char,float–基本
類,接口,數組,枚舉,註解。
註釋
標識符:字母,數字,下劃線,$開頭,大小寫敏感,不得使用關鍵字和保留字。
轉義字符:\b,\f,\n,\r,\’,\”,\t,\.
內存空間的分配和回收:
棧:存放簡單和引用數據的變量。
堆:存放引用數據類型的實例,
java.lang.System.gc();//建議系統回收內存,但不一定迴應。內存夠用,不予理睬。
變量;
局部變量:
實例變量:
靜態變量:
包,導入語句
數組:
推薦:
Int[] D=Nnew Int[2];切記一定要指定長度。
類與對象:
屬性,構造器,方法。
序列化:
Serializable對象,必須要。
用到了IO流知識
public class Cat implements Serializable{
private String name;
public Cat() {
this.name=”new Cat”;
};
public String getName() {
return name;
};
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
Cat cat=new Cat();
try {
FileOutputStream fos=new FileOutputStream(“ct.out”);
ObjectOutputStream oos=new ObjectOutputStream(fos);
cat.setName(“faf”);
oos.writeObject(cat);
oos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileInputStream fis;
try {
fis = new FileInputStream(“ct.out”);
ObjectInputStream ois=new ObjectInputStream(fis);
cat=(Cat)ois.readObject();
System.out.println(cat.getName());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static:修飾屬性,方法,內部類,代碼塊。
代碼順序,靜態區域優先。
final:不允許改變,可以修飾變量,方法,類。變量變常量,方法不能被覆蓋,不能被繼承,
訪問權限:public,private,protected,
abstract:修飾方法,類
interface:特殊的抽象類,所有的都要繼承,屬性是靜態的,公開的,方法都是都是公開的,抽象的。
包裝類,拆箱,裝箱。自動和手動,手動寫代碼,自動類似與強制轉換。
object類淺析:
equals,hashCode,toString
String,StringBuffer,StringBuilder,
eg:
String s1=”abc“;//新創建,字符串常量中沒有該字符串,所以會在池子裏創建一個字符串”abc”;
String s2=”abc”;/法相池子裏有,無需創建,指向已經有的abc就行。
String s3=new String(“abc”);//這個在堆裏需要去開闢新的空間,不會去池子裏找。
StringBuffer:允許併發操作,是線程安全的。
StringBuilder:不允許併發操作,線程不安全的。
內部類:成員內部類,局部內部類,靜態內部類,匿名內部類。
Class.forName(),Cat.class,new Cat().getClass();都是一樣的。
1:Class cl=A.class;
JVM將使用類A的類裝載器, 將類A裝入內存(前提是:類A還沒有裝入內存),不對類A做類的初始化工作.返回類A的Class的對象。
2:Class cl=對象引用o.getClass();
返回引用o運行時真正所指的對象(因爲:子對象的引用可能會賦給父對象的引用變量中)所屬的類的Class的對象 。
3:Class.forName(“類名”);
裝入類A,並做類的初始化
ClassLoader;理解一下,這個不是純java代碼寫的,進一步瞭解,可以瞭解下JVM.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章