黑馬程式設計師Java培訓和Android培訓:物件導向

打的去看海的豬發表於2011-07-25

  1.物件導向的三大特徵: 封裝(Encapsulation),繼承(inheritance),多型(Polymorphism)

        封裝是指隱藏物件的屬性和實現細節,僅僅對外公開介面。

2.this 的作用,個人認為this相當於一個針,可以指示函式,變數

3.使用final修飾的變數,也可以稱為常量,一但被賦值,那麼就不能改變其值.

4. == equals()的區別  相同的資料型別

 == 不僅僅需要比較的2個成員之間的 值是相等的  而且還需要比較2個的實體地址是否一樣

比較兩個陣列物件的內容是否相等,使用Arrays.equals(int[],int[])方法

equals()比較2個值是否相等  返回值為true和false

以下程式可以說明:

package Test;
public class Test1{

 public static void main(String[] args)
 {
 String s1=new String("luokan");
 String s2=new String("luokan");
 String s3=s1;
 System.out.println("第一次比較");
 if(s1==s2)
  System.out.println("s1=s2");
 else
  System.out.println("s1!=s2");
 System.out.println("第二次比較");
 if(s1.equals(s2))
  System.out.println("s1=s2");
 else
  System.out.println("s1!=s2");
 System.out.println("第三次比較");
 if(s2==s3)
  System.out.println("s3=s2");
 else
  System.out.println("s3!=s2");
 }
}

 

執行結果:第一次比較
s1!=s2
第二次比較
s1=s2
第三次比較
s3!=s2

5垃圾回收過程分析 :finalize() 方法  System.gc的作用

gc 是garbge collect的簡寫   java系統會自動呼叫gc的功能

 

6.static 靜態變數,如果一個變數是靜態變數的話,那麼在其他類之外用到這個靜態變數就不需要再去例項一個類的物件來引用這個靜態變數,而是可以直接引用這個靜態變數

7.可變引數,可變引數只能出現在引數列表最後;...位於變數型別和變數名之間,當要呼叫可變引數時,系統會為可變引數建立一個陣列,方法體中會以陣列的形式訪問可變引數

 

 public static void main(String[] args)
 {
  int m=add(1,2,3,4,5,6,7,8,9,0);
  System.out.println(m);
 }
 
 public static int add(int x,int...args)
 {
  int sum=0;
  for(int i=0;i<args.length;i++)
  {
   sum+=args[i];
  }
  return sum;
 }
 
}

 

8.overload 與 override的區別

override(重寫)
1、方法名、引數、返回值相同。
2、子類方法不能縮小父類方法的訪問許可權。
3、子類方法不能丟擲比父類方法更多的異常(但子類方法可以不丟擲異常)。
4、存在於父類和子類之間。
5、方法被定義為final不能被重寫。
overload(過載)
1、引數型別、個數、順序至少有一個不相同。  
2、不能過載只有返回值不同的方法名。
3、存在於父類和子類、同類中

 


 

相關文章