日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java初学总结

發布時間:2025/6/17 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java初学总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.對象的比較

  • ?? “==”操作符用于比較兩個對象的內存地址值是否相等
  • ?? equals() 方法用于比較兩個對象的內容是否一致

?如下列:

1 public class text3 { 2 3 public static void main(String[] args) { 4 String str1 = new String("java"); 5 String str2 = new String("java"); 6 String str3 = str2; 7 8 if(str1 == str2) 9 { 10 System.out.println("str1 == str2"); 11 } 12 else 13 { 14 System.out.println("str1 != str2"); 15 } 16 if(str2 == str3) 17 { 18 System.out.println("str2 == str3"); 19 } 20 else 21 { 22 System.out.println("str2 != str3"); 23 } 24 25 } 26 27 }

運行結果為:

str1 != str2 str2 == str3

str1與str2的內容完全一樣,為什么會不等于呢? 這兩個對象指向不同的內存空間,所以它們的內存地址是不一樣的。用“==”比較的是內存地址值。

如要比較內容,可用“equals”。

1 public class text3 { 2 3 public static void main(String[] args) { 4 String str1 = new String("java"); 5 String str2 = new String("java"); 6 String str3 = str2; 7 8 if(str1.equals(str2)) 9 { 10 System.out.println("str1 == str2"); 11 } 12 else 13 { 14 System.out.println("str1 != str2"); 15 } 16 if(str2.equals(str3)) 17 { 18 System.out.println("str2 == str3"); 19 } 20 else 21 { 22 System.out.println("str2 != str3"); 23 } 24 25 } 26 27 }

運行結果為:

str1 == str2 str2 == str3

?2.兩種String對象的聲明方式到底有什么不同?

??????? String str1 = new String("java");

??????? String str2 = "java";

如下例:

1 public class text3 { 2 3 public static void main(String[] args) { 4 String str1 = "java"; 5 String str2 = new String("java"); 6 String str3 = "java"; 7 8 System.out.println("str1 == str2 ? -->"+(str1 == str2)); 9 System.out.println("str1 == str3 ? -->"+(str1 == str3)); 10 System.out.println("str3 == str2 ? -->"+(str3 == str2)); 11 12 } 13 }

運行結果:

str1 == str2 ? -->false str1 == str3 ? -->true str3 == str2 ? -->false

str1與str3相等,則證明str1與str3是指向同一個內存空間的。

String對象的內容一旦聲明則不能輕易改變。

如果想改變一個String對象的值,則第一步要做的是先將原有的String引用斷開,之后再開辟新的內存空間。

用new關鍵字開辟String對象的內存空間的話,則實際上就開辟了兩個內存空間。

3.類對象的產生

格式:

類名 對象名 = new 類名();

創建屬于某類的對象,需要通過如下兩個步驟來實現:

  • 聲明指向“由類所創建的對象”的變量
  • 利用new創建新的對象,并指派給先前所創建的變量
  • 舉例:創建Person類的對象

    Person p; //先聲明一個Person類的對象p p = new Person(); //用new關鍵字實例化Person的對象p

    當然也可以用如下方式來聲明變量:

    Person p = new Person() ; // 聲明Person對象p并直接實例化此對象

    ????? 對象只有在實例化之后才能被使用,而實例化對象的關鍵字就是new。

    4.訪問對象中某個變量或方法

    訪問屬性: 對象名稱。屬性名 訪問方法: 對象名稱。方法名()

    如:想訪問Person類中的name和age屬性

    p.name; //訪問Person類中的name屬性 p.age; //訪問Person類中的age屬性

    5.類的屬性封裝(private)

    要設置或取得屬性值,則只能用setXxx()getXxx()方法,這是一個明確且標準的規定。

    封裝類中的屬性或方法:

    封裝屬性: private 屬性類型 屬性名 封裝方法: private 方法返回類型 方法名稱(參數)

    加入一些setXxx()getXxx()方法,主要用來設置和取得類中的私有屬性,解決封裝問題,如下列:

    1 class Person 2 { 3 private String name; 4 private int age; 5 void talk() 6 { 7 System.out.println("wo shi: "+name+", jinnian: "+age+"sui"); 8 } 9 10 public void setName(String str) 11 { 12 name = str; 13 } 14 15 public void setAge(int a) 16 { 17 if(a > 0) 18 age = a; 19 } 20 21 public String getName() 22 { 23 return name; 24 } 25 26 public int getAge() 27 { 28 return age; 29 } 30 } 31 32 public class text17 { 33 34 public static void main(String[] args) { 35 36 Person p = new Person(); 37 p.setName("zhang san"); 38 p.setAge(-25); 39 p.talk(); 40 41 } 42 43 }

    運行結果:

    wo shi: zhang san, jinnian: 0sui

    ?6.內部類

    定義內部類的格式:

    標示符 class 外部類的名稱 {//外部類的成員標示符 class 內部類的名稱{//內部類的成員 } }

    外部類是無法找到內部類中所聲明的屬性,而內部類則可以訪問外部類的屬性。

    用static聲明的內部類則變成外部類,但是用static聲明的內部類不能訪問非static的外部類屬性。(《Java基礎教程》P193)

    ?7.類的繼承

    類的繼承格式:

    class 父類 //定義父類 { }class 子類 extends 父類 // 用extends關鍵字實現類的繼承 { }

    在java中只允許單繼承,不允許多重繼承,也就是說一個子類只能有一個父類,但java中卻允許多層繼承

    多層繼承如:

    class A { } class B extends A { } class C extends B { }

    子類對象在實例化時會默認先去調用父類中的無參構造方法,之后再調用本類中的相應構造方法

    ?

    super 主要的功能是完成子類調用父類中的內容,也就是調用父類中的屬性或方法

    用super調用父類中的構造方法,只能放在程序的第一行。

    super調用屬性或方法:

    super.父類中的屬性; super.父類中的方法();

    8.this與super的比較

    this

    • 1.表示當前對象
    • 2.調用本類中的方法或屬性
    • 3.調用本類中的構造方法時,放在程序首行

    super

    • 1.子類調用父類的方法或屬性
    • 2.調用父類中的構造方法時,放在程序首行

    從上表中發現,用super或this調用構造方法時都需要放在首行。所以,super與this調用構造方法的操作時不能同時出現的

    9.抽象類定義規則

    • 抽象類和抽象方法都必須用abstract關鍵字來修飾
    • 抽象類不能被實例化,也就是不能用new關鍵字去產生對象
    • 抽象方法只需聲明,而不需實現
    • 含有抽象方法的類必須被聲明為抽象類,抽象類的子類必須復寫所有的抽象方法后才能被實例化,否則這個子類還是個抽象類

    10.final關鍵字

    在Java中聲明類、屬性和方法時,可使用關鍵字final來修飾。

    • final標記的類不能被繼承。
    • final標記的方法不能被子類復寫。
    • final標記的變量(成員變量或局部變量)即為常量,只能賦值一次。

    轉載于:https://www.cnblogs.com/heyonggang/archive/2013/05/13/3075747.html

    總結

    以上是生活随笔為你收集整理的Java初学总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。