第二十九節:Java基礎知識-類,多態,Object,數組和字元串

来源:https://www.cnblogs.com/dashucoding/archive/2018/08/15/9484722.html
-Advertisement-
Play Games

前言 基礎知識 類,多態, ,數組和字元串,回顧,繼承,類的多態性,多態,向上轉型和向下轉型, ,數組,多維數組,字元串,字元串比較。 回顧 類的定義格式: 類的修飾符: ,`abstract final`等。 private protected public default(預設) 繼承 繼承是 ...


標題圖

前言

Java基礎知識-類,多態,Object,數組和字元串,回顧,繼承,類的多態性,多態,向上轉型和向下轉型,Object,數組,多維數組,字元串,字元串比較。

回顧

類 .png

類的定義格式:

[類的修飾符] class 類的名稱 [extends 父類名稱][implements 介面名稱列表] {  
       變數的定義以及變數的初始化;
       方法的定義以及方法體;
}

類的修飾符:publicabstractfinal等。

  • private
  • protected
  • public
  • default(預設)

繼承

繼承是java中的特性,繼承可以實現代碼的復用性,繼承的類為子類,被繼承的類為父類,java中不支持多重繼承,但可以通過介面實現。

class DemoClass extends SuperClass{
 …
}

類的多態性

多態的體現:覆蓋與重載

多態

多態是為了提高功能的擴展性,提高復用,為父類的引用指向了子類的對象,多態,多種形態的體現。

父類引用指向子類對象,並調用子類的覆蓋方法,就是多態,註意父類的引用不能隨便強加轉為子類類型,因為強轉可能會出錯,在轉換前先使用instanceof判斷父類是否可以轉換為子類

abstract class Animal{
 public abstract void eat();
}

多態原理:

Dog d = new  Dog();
Animal a = new Dog();
Cat c = new Catt();
Animal aa = new Cat();

向上轉型和向下轉型

Cat c = new Catt();
Animal aa = new Cat();

Animal a = new Animal();
Cat c = (Cat) a;

向上轉型為了提高程式的擴展性,向下轉型之前要進行類型的判斷,否則容易發生classCastException異常,判斷類型的關鍵字為instanceof

if(a instanceof Cat){
 Cat c = (Cat)a;
 c.catchMouse();
}else if(a instanceof Dog){
 Dog d = (Dog)a;
 d.lookHome();
}

Object

Object是類層次結構的根類,存在java.lang.Object中。

方法 說明
clone() 創建並返回此對象的一個副本
equals() 指某個對象是否與此對象“相等”
finalize() 當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調用此方法
getClass() 返回對象運行時類
hashCode 返回該對象的哈希碼值
notify() 喚醒在此對象等待的單個線程
notifyAll() 喚醒所有線程
toString() 返回該對象的字元串表示
wait() 線程等待,直到其他線程調用此對象的notify() 或 notifyAll()

構造方法:public Object()

  1. finalize()方法:java的垃圾回收時機
  2. Object的toString()方法:返回的是對象的字元串形式
  3. Object的equals()方法:比較兩個對象是否相等

數組

Java數組.png

數組是同種類型的數據集合,數組中放的每個數據為數組中的一個元素,元素的數量為數組的長度,為數組名.length

數組的定義:

數組的數據類型[] 變數名;
數組的數據類型 變數名[];

java數組實際上是對象,通過new創建對象,數組的下標不低於0,也比數組的元素個數小,在使用數組下標時,可能會產生ArrayIndexOutOfBoundsException錯誤,要小心了。

多維數組

int[][] a = new int[2][3];

圖片

數組與字元串.png

數組的使用步驟:

  1. 聲明數組
  2. 創建數組
  3. 使用數組元素

字元串

字元串常量
聲明字元串變數
創建字元串
獲取字元串長度

字元串比較

==:比較兩個字元串是否為同一個對象
equals():比較兩個字元串的內容是否相同

檢索:indexOf()
截取:substring()
替換:replace()
忽略大小寫比較:equalsIgnoreCase()
字元串首碼、尾碼是否為指定字元串:startWith()、endWith()
字元串轉換:parseInt()、parseByte()、parseShort()、parseLong()、parseDouble()
數值轉換為字元串:valueOf()
對象的字元串:toString()

結語

  • 本文主要講解 Java基礎知識-類,多態,Object,數組和字元串
  • 下麵我將繼續對Java、 Android中的其他知識 深入講解 ,有興趣可以繼續關註
  • 小禮物走一走 or 點贊

送❤


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • KeepAlive--高可用解決方案 究竟啥才是互聯網架構“高可用” ...
  • 前言:在之前的面試中,每每問到關於Java I/O 方面的東西都感覺自己吃了大虧..所以這裡搶救一下..來深入的瞭解一下在Java之中的 I/O 到底是怎麼回事..文章可能說明類的文字有點兒多,希望能耐心讀完.. 什麼是 I/O? 學習過電腦相關課程的童鞋應該都知道,I/O 即輸入Input/ 輸 ...
  • 內部類 內部類可以直接訪問外部類,但是外部類要訪問內部類中的成員變數,就必須要創建內部類的對象。 外部類如果不創建外部類對象,就不能直接創建內部了對象 內部類可訪問外部類,而且不破壞封裝 內部類的分類: 1. 靜態內部類 2. 局部內部類 3. 成員內部類 4. 匿名內部類 成員內部類: 在成員變數 ...
  • 需求:python如何實現普通用戶登錄伺服器後切換到root用戶再執行命令 解決參考: 代碼: 遇到問題: 思路:經過檢查發現這個是中文字元集和英文字元集返回密碼格式不同導致的,在代碼中加入:ssh.send(' export LANG=en_US.UTF-8 \n'),即可解決上述問題 因為中文和 ...
  • 給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1,2] 輸出: 4 def make( ...
  • 給定一個字元串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。 說明:本題中,我們將空字元串定義為有效的迴文串。 示例 1: 輸入: "A man, a plan, a canal: Panama" 輸出: true 示例 2: 輸入: "race a car" 輸出: false ...
  • 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。 註意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。 示例 1: 輸入: [7,1,5,3,6,4] 輸出: 7 解釋: 在第 ...
  • 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 註意你不能在買入股票前賣出股票。 示例 1: 輸入: [7,1,5,3,6,4] 輸出: 5 解釋: 在第 2 天(股票價格 = 1)的時 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...