Java基礎知識

A:什么是標識符
* 就是給類,接口,方法,變量等起名字時使用的字符序列

  • B:標識符的組成規則
    • 英文大小寫字母
    • 數字字符
    • $和_
  • C:標識符注意事項
    • 1,不能使用關鍵字
    • 2,不能數字開頭
  • 見名知意
  • A:包
    • 最好是域名倒過來,要求所有的字母小寫
  • B:類或者接口
    • 如果是一個單詞首字母大寫
    • 如果是多個單詞每個單詞首字母大寫(駝峰標識)
  • C:方法或者變量
    • 如果是一個單詞全部小寫
    • 如果是多個單詞,從第二個單詞首字母大寫
  • D:常量
    • 如果是一個單詞,所有字母大寫
    • 如果是多個單詞,所有的單詞大寫,用下劃線區分每個單詞
      A:什么是常量
    • 在程序執行的過程中其值不可以發生改變
  • B:Java中常量的分類
    • 字面值常量
    • 自定義常量(面向對象部分講)
  • C:字面值常量的分類
    • 字符串常量 用雙引號括起來的內容
    • 整數常量 所有整數
    • 小數常量 所有小數
    • 字符常量 用單引號括起來的內容,里面只能放單個數字,單個字母或單個符號
    • 布爾常量 較為特殊,只有true和false
    • 空常量 null(數組部分講解)
  • A:二進制的數據表現形式
    • 由0,1組成。以0b(b可以大寫也可以小寫)開頭(JDK1.7版本可以表示二進制了)
  • B:八進制的數據表現形式
    • 由0,1,…7組成。以0開頭
  • C:十進制的數據表現形式
    • 由0,1,…9組成。整數默認是十進制的
  • D:十六進制的數據表現形式
    • 由0,1,…9,a,b,c,d,e,f(大小寫均可)。以0x開頭

基本數據類型分類(4類8種)
* 整數型
* byte 占一個字節 -128到127
* short 占兩個字 -215~215-1
* int 占四個字節 -231~231-1
* long 占八個字節 -263~263-1
* 浮點型
* float 占四個字節 -3.403E38~3.403E38 單精度
* double 占八個字節-1.798E308~1.798E308 雙精度
* 字符型
* char 占兩個字節 0~65535
* 布爾型
* boolean
* boolean理論上是占八分之一個字節,因為一個開關就可以決定是true和false了,但是java中boolean類型沒有明確指定他的大小

  • 先照格式來。
    • a:導包
      • 格式:
        • import java.util.Scanner;
      • 位置:
        • 在class上面。
    • b:創建鍵盤錄入對象
      • 格式:
        • Scanner sc = new Scanner(System.in);
    • c:通過對象獲取數據
      • 格式:
        • int x = sc.nextInt();

數組

  • A:為什么要有數組(容器)

    • 為了存儲同種數據類型的多個值
  • B:數組概念

    • 數組是存儲同一種數據類型多個元素的集合。也可以看成是一個容器。
    • 數組既可以存儲基本數據類型,也可以存儲引用數據類型。
  • C:數組定義格式
    數據類型[] 數組名 = new 數據類型[數組的長度];

成員變量和局部變量的區別)(掌握)

  • A:在類中的位置不同

    • 成員變量:在類中方法外
    • 局部變量:在方法定義中或者方法聲明上
  • B:在內存中的位置不同

    • 成員變量:在堆內存(成員變量屬于對象,對象進堆內存)
    • 局部變量:在棧內存(局部變量屬于方法,方法進棧內存)
  • C:生命周期不同

    • 成員變量:隨著對象的創建而存在,隨著對象的消失而消失
    • 局部變量:隨著方法的調用而存在,隨著方法的調用完畢而消失
  • D:初始化值不同

    • 成員變量:有默認初始化值
    • 局部變量:沒有默認初始化值,必須定義,賦值,然后才能使用。
  • 注意事項:

    • 局部變量名稱可以和成員變量名稱一樣,在方法中使用的時候,采用的是就近原則。
    • 基本數據類型變量包括哪些:byte,short,int,long,float,double,boolean,char
    • 引用數據類型變量包括哪些:數組,類,接口,枚舉

06.11_面向對象(方法的形式參數是類名的時候如何調用)(掌握)

  • A:方法的參數是類名public void print(Student s){}//print(new Student());
    • 如果你看到了一個方法的形式參數是一個類類型(引用類型),這里其實需要的是該類的對象。

06.12_面向對象(匿名對象的概述和應用)(掌握)

  • A:什么是匿名對象
    • 沒有名字的對象
  • B:匿名對象應用場景
    • a:調用方法,僅僅只調用一次的時候。
      • 那么,這種匿名調用有什么好處嗎?
        • 節省代碼
      • 注意:調用多次的時候,不適合。匿名對象調用完畢就是垃圾。可以被垃圾回收器回收。
    • b:匿名對象可以作為實際參數傳遞
  • C:案例演示
    • 匿名對象應用場景

面向對象(封裝的概述)(掌握)

  • A:封裝概述

    • 是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。
  • B:封裝好處

    • 隱藏實現細節,提供公共的訪問方式
    • 提高了代碼的復用性
    • 提高安全性。
  • C:封裝原則

    • 將不需要對外提供的內容都隱藏起來。
    • 把屬性隱藏,提供公共方法對其訪問。

面向對象(private關鍵字的概述和特點)

  • A:人類賦值年齡的問題
  • B:private關鍵字特點
    • a:是一個權限修飾符
    • b:可以修飾成員變量和成員方法
    • c:被其修飾的成員只能在本類中被訪問
  • C:案例演示
    • 封裝和private的應用:
    • A:把成員變量用private修飾
    • B:提供對應的getXxx()和setXxx()方法
    • private僅僅是封裝的一種體現形式,不能說封裝就是私有

面向對象(this關鍵字的概述和應用)

  • A:this關鍵字特點
    • 代表當前對象的引用
  • B:案例演示
    • this的應用場景
    • 用來區分成員變量和局部變量重名

多態:
繼承關系 方法重寫 父類指向子類對象

成員變量
[圖片上傳中。。。(1)] 結果是 10 因為對象的 類型是父 。

所以看不到兒子的實現
方法比較特殊 變異看左邊 運行看右邊

超人的故事
向上 向下轉型 父親不能調用兒子的 fly 方法, 向下轉型了就可以調用了!

多態的好處:
維護性 : 我在父改了就行
擴展性:
貓和狗 的 eat() 的參數 直接用毛和狗的父 Animal
[圖片上傳中。。。(2)]

多態的 弊端:
如果要是用子類特有方法 ,必須要強轉之后instanceof 判斷

抽象類:
abstract 修飾 抽象類不一定有抽象方法,但是有抽象方法必須是抽象類 抽象類不能被實例化。可以搞他子類,子類要么是抽象的 要么是重寫父的所有抽象方法
抽象類的成員變量 既可以是變量也可以是常量
抽象類有構造方法,子類訪問父類的成員

方法可以使抽象 也可以不是 抽象 就是要求子類必須要實現的

不能 和 static (類名.調用) final (不讓子類重寫) privite (私有 )

接口

接口中的方法都是abstract 的 接口不能實例化 對外暴露的 所以都是public 修飾 成員 及方法
成員變量: 只能是常量 默認是public static final
構造方法: 接口沒有構造方法
成員方法: 只能是抽象的

抽象類 : is a 定義的是該繼承體系共性
接口 : like a 定義的是該體系的擴展

不同包之間的訪問:
1.不同包。要 導包 然后創建的對象還要是 public 并且 還有構造也是public
默認的 修飾 在同一包可以訪問, 錢包對別人 是私有的 ,,對媳婦找死。。。
public 可以訪問其他包的! 不同包 子類 無關類都行
默認 同類 同包下(子類和無關類)
protected 可以訪問其他包的! 不同包 子類
private 僅僅是封裝的一種體現方式

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一:java概述:1,JDK:Java Development Kit,java的開發和運行環境,java的開發工...
    ZaneInTheSun閱讀 2,686評論 0 11
  • 1、一個".java"源文件中是否可以包括多個類(不是內部類)?有什么限制?答:可以有多個類,但只能有一個publ...
    岳小川閱讀 957評論 0 2
  • 寫代碼: 1,明確需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,確定步驟。每一個思路部分用到哪些...
    橫沖直撞666閱讀 359評論 0 0
  • 一:java概述:1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人開始開發名稱為 Oak ...
    Roronoa_Zoro_閱讀 275評論 0 1
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,610評論 4 12