JAVA 筆記(三)

  1. NullPointerException:空指針異常 原因:數組已經不再指向堆內存了。而你還用數組名去訪問元素。
  2. 對于查找問題,如果找到就返回其索引值,如果找不到就要返回一個負數(一般是負一)這是必須的,否則如果找不到,就沒有返回值,這樣程序就會報錯。
  3. 二維數組的元素是一個一維數組(這樣好理解二維數組);一維數組是引用類型,默認值是null.
  4. 二維數組的格式 數據類型【】【】變量名=new 數據類型【m】[n];m表示這個二維數組有多少個一維數組,n表示每一個一維數組的元素個數。
  5. 二維數組的其他格式:數據類型 變量名【】【】=new數據類型【m】【n】,數據類型【】變量名【】=new數據類型【m】[n];(這兩種不推薦使用);
  6. 輸出數組名是一個地址值;
  7. 數據類型【】【】變量名=new 數據類型【m】[],這種定義只給出二維數組中包含了m個一維數組,但是并沒有給出一維數組元素的個數,這時我們給以動態給出,并且每一個一維數組的個數可以不同(就是列可以不同);
  8. 一維數組沒有分配空間是null(因為一維數組是引用類型)分配之后才是對應類型的默認值。
  9. 二維數組的第一個值是必須要給的,否則無法分配內存, 因為就不知道要多少空間,第二個值可以給也可以不給。
  10. 二維數組的靜態定義:數據類型【】【】變量名=new數據類型【】【】{{元素1}{元素2}……..};簡化版:數據類型【】【】變量名={{元素1}{元素2}……};
  11. 二維數組的遍歷:外循環的是二維數組的長度,其實就是一維數組的個數。內循環控制的是一維數組的長度。
  12. 方法存在內存的方法區(有方法標記識別,否則被別的程序調走)。
  13. Java中的參數傳遞問題:基本數據類型:形式參數的改變對實際參數沒有影響。引用類型:形式參數的改變直接影響實際參數(因為二者指向的地址一樣)
  14. 因為static變量也就是靜態變量,在程序運行過程中被聲明后就會一直保存在內存里,所以只能聲明一次,第二次再訪問那個函數時,給靜態變量聲明同時賦值的語句就不再執行了,而靜態變量的值始終保存在內存里,也就是上次改變以后的值。(知道程序結束)沒有static修飾的函數中的變量,只在函數被執行時占用內存,函數執行完畢后就被銷毀,數據也就不存在了,所以每次都要聲明,值也就不會變。
  15. 面向對象將我們從執行者變成指揮著(爽吧);
  16. 面向對象:首先想到這個問題有多少類。然后類中有什么東西,最后看類與類之間的關系。類的獲取一般是名詞。(uml語言有所介紹);
  17. 面向對象的三大特征(封裝,繼承,多態);
  18. 多態的定義:指允許不同類的對象對同一消息做出響應。即同一消息可以根據發送對象的不同而采用多種不同的行為方式。(發送消息就是函數調用)
  19. Java中最基本的單位是類。類是一組相關屬性和行為的集合,對象是該類事物的具體表現。
  20. 成員變量和局部變量的區別:A;成員變量(在類中方法外),局部變量(在方法定義中或者方法聲明上)B:成員變量:在堆內存,局部變量:在棧內存。成員變量:隨著對象的創建而存在,隨著對象的消失而消失。局部變量:隨著方法的調用而存在,隨著方法的調用完畢而消失;成員變量:有默認初始化值,局部變量:沒有默認初始化值,必須定義,賦值,然后才能使用。
  21. 局部變量名稱和成員變量名稱可以一樣,在方法中使用的時候,采用的就近原則。
  22. 如果你看到一個方法的形式參數是一個類(引用類型)這里其實需要的是該類的對象。
  23. 匿名對象:沒有名字的對象。(new s()? 就是一個匿名對象);
  24. 匿名對象的應用場景:A;調用方法,僅僅只調用一次的時候,多次調用不適合(因為多次開辟堆內存)好處:匿名對象調用完畢后就是垃圾,可以被垃圾回收器回收。B;匿名對象可以作為實際參數傳遞。
  25. Private:私有的。可以修飾成員變量和成員方法。被private修飾的成員只能在本類中使用。
  26. 封裝:是指隱藏對象的屬性和實現細節,僅對外提供公共的訪問方式。(提高代碼復用性和安全性)
  27. This:是當前類的對象引用。簡單的記,它就代表當前類的一個對象。方法被那個對象調用,this就代表哪個對象。
  28. 構造函數;給對象的數據進行初始化。方法名和類名一樣,沒有返回值類型,連void都沒有,沒有具體的返回值,故也沒有return.,它可以重載。
  29. 給成員變量賦值的兩種方式:setXxx(),? 構造方法。
  30. Student s=new Student();做了哪些事情: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  31. 變量的范圍是越小越好,因為這樣可以及時的回收。
  32. 導入的包必須出現在所有的類前面。
  33. 針對多個對象有共同的成員變量值的時候就可以用static關鍵字(比如國籍);
  34. Static的特點:(他可以修飾成員變量和修飾成員方法)a:隨著類的加載而加載(回想main方法)B:優先于對象存在c;被類的所有對象共享(如果某個成員變量是被所有對象共享的,那么它就應該是靜態的)D;可以通過類名調用(其實它本身也可以通過對象名調用,推薦使用類名調用)靜態修飾的內容一般我們稱其為:與類相關的。類成員。
  35. Static關鍵字注意事項:A;在靜態方法中是沒有this關鍵字的(因為靜態是隨著類的加載而加載,this是隨著對象的創建而存在,靜態比對象先存在,即前面不能調用后面)b:靜態方法只能訪問靜態的成員變量和靜態的成員方法。,而非靜態方法既可以訪問靜態成員變量和靜態成員方法,也可以訪問非靜態的成員和方法。(靜態只能訪問靜態,非靜態可以訪問一切)
  36. 思考題:構造方法中可不可以有return語句呢?
  37. 可以。而是我們寫成這個樣子就OK了:return; 其實,在任何???? 的void類型的方法的最后你都可以寫上:return;
  38. 構造方法的注意事項A:如果我們沒寫構造方法,系統將提供一個默認的無參構造方法B:如果我們給出了構造方法,系統將不再提供默認構造方法,這個時候如果我們想用無參構造方法就必須自己寫出。(推薦永遠自己寫出);
  39. 工具類中是可以使用靜態的。將構造方法私有化,外界就不能創建對象了。
  40. 如何制作一個說明書:A;寫一個工具類B;對這個類加入文檔注釋/**??? */C:用工具解析文檔注釋(javadoc工具)d:格式javadoc –d 目錄 –author –version 工具類名稱.java. ?-------->待續

轉載于:https://www.cnblogs.com/yc74/p/5352550.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255613.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255613.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255613.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ERROR: SampleCB() - buffer sizes do not match 解決方法

筆記本有內置攝像頭。Windows7驅動已經安裝成功&#xff0c;利用QQ測試攝像頭正常。但是利用OpenCV簡單的攝像頭操作后&#xff0c;就會出現ERROT: SampleCB() - buffer sizes do not match的問題。下面是代碼&#xff1a; #include<iostream> #include <opencv2/co…

安裝Wamp后 Apache無法啟動的解決方法

安裝Wamp后 Apache無法啟動的解決方法&#xff0c;網上的解決方案可以說是五花八門&#xff0c;有些說了一大推&#xff0c;一點作用都起不到。 其實解決方法只需兩步&#xff1a; 1、安裝路徑不能包含有中文&#xff0c;這個我不知道為什么&#xff0c;總之如果安裝路徑中包含…

MySQL的my.cnf文件(解決5.7.18下沒有my-default.cnf)

官網說&#xff1a;從5.7.18開始不在二進制包中提供my-default.cnf文件。參考&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 經過測試&#xff0c;在5.7.18版本中&#xff0c;使用tar.gz安裝時&#xff0c;也就是壓縮包解壓出來安裝這種&…

【Not all parameters were used in the SQL statement】

在添加游標的時候&#xff0c;添加preparedTrue cursor mydb.cursor(preparedTrue) 感謝博主&#xff1a; 【已解決】Python MySQL: Not all parameters were used in the SQL statement - MoonYear530 - 博客園一、事故緣起 今天構造了一個超過 50 多個參數的 SQL 插入語句…

opencv 文件模塊 解析

OpenCV包括以下幾個模塊&#xff0c;具體功能是&#xff1a; 1、CV&#xff1a;主要的OpenCV函數 2、CVAUX&#xff1a;輔助的&#xff08;實驗性的&#xff09;OpenCV函數 3、CXCORE&#xff1a;數據結構與線性代數支持 4、HIGHGUI&#xff1a;圖像界面函數 5、ML&#xff1a;…

解決Android Studio報錯:DefaultAndroidProject : Unsupported major.minor version 52.0

問題描述 今天使用Android Studio 2.0打開我之前的項目時&#xff0c;編譯報了如下錯誤&#xff1a; Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0 其中build.gradle文件內容如下所示&#xff1a; // …

Alpha 通道的概念與功能

RGBA采用的顏色是RGB&#xff0c;可以屬于任何一種RGB顏色空間&#xff0c;但是Catmull和Smith在1971至1972年間提出了這個不可或缺的alpha數值&#xff0c;使得alpha渲染和alpha合成變得可能。提出者以alpha來命名是源于經典的線性插值方程αA (1-α)B所用的就是這個希臘字母…

【ValueError: Target is multiclass but average=‘binary‘. Please choose another average setting, one 】

完整報錯為&#xff1a;ValueError: Target is multiclass but averagebinary. Please choose another average setting, one of [None, micro, macro, weighted]. 解決方法 對于多分類任務&#xff0c;將 from sklearn.metrics import f1_score f1_score(y_test, y_pred) 改為…

debian apt-get聯網安裝mysql服務

安裝mysql和卸載mysql 1.安裝數據庫&#xff1a;sudo apt-get install mysql-server 安裝過程中需要設置密碼。 2.安裝客戶端&#xff1a;sudo apt-get install mysql-client 3.登錄MySQL&#xff1a;mysql -u root -p 4.配置文件&#xff1a;/etc/mysql/my.cnf a.設…

【資料下載區】【iCore、 iCore2相關資料】更新日期2017/1/11

【新產品發布】【iCore2 ARM / FPGA 雙核心板】 【iCore系列核心板視頻教程】之 SDRAM 讀寫實驗 【iCore雙核心組合是開發板例程】【uCGUI 例程及代碼包下載】【iCore雙核心組合是開發板例程】【12個 verilog 中級實驗例程發布】【iCore、iCore2 雙核心板】EPCS 實驗&#xff0…

圖像數據格式基礎知識

JPEG文件格式簡單分析 作者&#xff1a;小爽 摘要&#xff1a; 這篇文章大體上介紹了JPEG文件的結構信息以及它的壓縮算法和編碼方式。使讀者能夠對JPEG文件格式有大體上的了解。為讀者進一步進行學習JPEG文件壓縮做好準備 關鍵字&#xff1a;十六進制&#xff0c;段格式&am…

SQL語句:從一個表里按年份統計條目數

比如一個數據表名稱叫deploypool&#xff0c; 需要知道里面每一年的記錄數&#xff0c; 而add_date字段里有增加記錄時的時間&#xff0c; 那么語句如下&#xff1a; SELECT EXTRACT(YEAR from add_date),COUNT(id) FROM deploypool GROUP BY EXTRACT(YEAR from add_date);

為什么需要架構圖,怎么畫?

Technorati 標簽: 架構圖,架構,交流,布局不知不覺中做架構師也已經4年了&#xff0c;最初的感覺只是一個名號&#xff0c;不再把代碼作為強制的任務&#xff0c;后來開始慢慢的轉變工作內容。畫圖&#xff0c;成為了我的主要工作。我可能不是每天都在寫代碼&#xff0c;但卻是每…

Jenkins構建時間Poll Scm的設置(常用設置)

每15分鐘構建一次&#xff1a;H/15 * * * * 或*/5 * * * * 每天8點構建一次&#xff1a;0 8 * * * 每天8點~17點&#xff0c;兩小時構建一次&#xff1a;0 8-17/2 * * * 周一到周五&#xff0c;8點~17點&#xff0c;兩小時構建一次&#xff1a;0 8-17/2 * * 1-5 每月1號、15號…

圖像格式基礎

所謂位映像&#xff0c;即是指一個二維的像素矩陣&#xff0c;而位圖就是采用位映像方法顯示和存儲圖像。一幅圖像的顯示就是將圖像的像素映射到屏幕的像素上并顯示一定的顏色。當一幅圖形的像素由彩色表示時就是我們通常所說的彩色圖像了。 由于數字圖像可以表示為矩陣…

aop理解

1.切面&#xff08;Aspects&#xff09;常常通過通知&#xff08;advice&#xff09;、切點&#xff08;pointcuts&#xff09;和織入點&#xff08;join points&#xff09;來描述 2.通知&#xff08;advice&#xff09;有5種 Before——前置通知&#xff0c;在調用目標方法之…

Php 與 Json

PHP與JSON 在PHP中存在兩個與JSON相關的函數&#xff1a; json_encode($array或$object)函數&#xff1a;把一個數組或對象轉化為JSON格式的字符串 json_decode($json,$flag)函數&#xff1a;把一個JSON格式的字符串轉化為數組或對象 $flag &#xff1a;true&#xff0c;代表轉…

docker supervisor + compose

一&#xff1a; Supervisor Docker 容器在啟動的時候開啟單個進程&#xff0c;比如&#xff0c;一個 ssh 或者 apache 的 daemon 服務。但我們經常需要在一個機器上開啟多個服務&#xff0c;這可以有很多方法&#xff0c;最簡單的就是把多個啟動命令放到一個啟動腳本里面…

AngularJS(1)——入門學習

AngularJs相關概念 在w3schools中針對AngularJs的介紹為: AngularJS extends HTML with new attributes. AngularJS is perfect for Single Page Applications (SPAs). ProAuditObject ProAuditObj1 new ProAuditObject(); ProAuditObj1.setLproid(proId); Pr…

C# 字符,字符串和文本處理。

1. 字符&#xff1a; 在.net中 字符是表示成16為Unicode代碼值。每個字符都是System.Char結構&#xff08;一個值類型&#xff09;的實例。 public class StringTempte{public static void GetChar(){double d;d char.GetNumericValue(\u0033);Console.WriteLine(d.ToString()…