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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA自学笔记08

發(fā)布時(shí)間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA自学笔记08 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JAVA自學(xué)筆記08

1、構(gòu)造方法私有,外界就不能再創(chuàng)建對(duì)象
2、說明書的制作過程
1)寫一個(gè)工具類,在同一文件夾下,測試類需要用到工具類,系統(tǒng)將自動(dòng)編譯工具類;工具類的成員方法一般是靜態(tài)的,因此在測試類中可直接通過
工具類名.方法名(參數(shù)列表);
的方法來調(diào)用
2)加入文檔注釋
@ 文字(作者、版本)
@ param / return
3)用工具解析文檔注釋:javadoc
格式:javadoc -d 目錄名-author-version 工具類名.java
可創(chuàng)建未存在的目錄
3、工具類配合說明書使用
1)找到并打開文檔
2)點(diǎn)擊顯示,找出索引,找出搜索框
3)觀察該類的構(gòu)造,需不需要導(dǎo)包(java.lang包下的類不需要導(dǎo)入)等等
4)觀察類說明,構(gòu)造方法及成員方法和版本
成員變量 字段摘要
構(gòu)造方法 構(gòu)造方法摘要
成員方法(靜態(tài)?返回值類型?) 方法摘要
有構(gòu)造方法就創(chuàng)建對(duì)象;沒有構(gòu)造方法可能就是靜態(tài)的
5)使用

@例題1:觀察JAVA1.7API文檔,學(xué)習(xí)math類
@例題2:借助Math工具類,編寫猜數(shù)字程序

import java.util.Scanner; public class Guess {public static void main(String[] args) {// TODO 自動(dòng)生成的方法存根int num = (int)( 100*Math.random()+1);System.out.println(num);int i=5;Scanner sc = new Scanner(System.in);System.out.print("猜數(shù)字,范圍在0~100間");String s2 = "大了";String s3 = "小了";String s4 = "猜對(duì)了,游戲結(jié)束";String s5 = "請(qǐng)輸入數(shù)字";int x=sc.nextInt();for(;x!=num&&i>0;i--) {if(x>num) {System.out.println(s2);System.out.println(s5);}if(x<num) {System.out.println(s3);System.out.println(s5);}x=sc.nextInt();}if(x==num) {System.out.println(s4);}else {System.out.println("五次機(jī)會(huì)用完,游戲結(jié)束");}} }

3、代碼塊
1)用{}括起來的代碼
2)可分為局部代碼塊、靜態(tài)代碼塊、同步代碼塊、構(gòu)造代碼塊
3)局部代碼塊:在方法中出現(xiàn),用于 限定變量生命周期,及早釋放,提高內(nèi)存利用率
4)構(gòu)造代碼塊:在類中方法外(類中的成員位置)出現(xiàn),多個(gè)構(gòu)造方法中 方法中相同的代碼存放到一起,每次調(diào)用構(gòu)造方法時(shí)都執(zhí)行(但在main方法之后),并且在構(gòu)造方法前執(zhí)行,可以把多個(gè)構(gòu)造方法的共同代碼放到一起,用于對(duì)對(duì)象進(jìn)行初始化
5)靜態(tài)代碼塊:在類中方法外(類中的成員位置)出現(xiàn),并加上static修飾,即static{…};一般用于給類進(jìn)行初始化,在加載時(shí)就進(jìn)行,并且只進(jìn)行一次
執(zhí)行順序5、4、構(gòu)造方法,與實(shí)際順序無關(guān)

4、繼承
1)定義:多個(gè)類(子類、派生類)中存在相同屬性和行為時(shí),將這些內(nèi)容抽取到單獨(dú)一個(gè)類中,只需繼承那個(gè)類(被稱為父類、基類或超類)即可
2)通過extends關(guān)鍵字可以實(shí)現(xiàn)類與類的繼承
class 子類名 extends 父類名{};
3) 提高代碼的復(fù)用性、提高代碼的維護(hù)性、使類與類間產(chǎn)生了關(guān)系,是多態(tài)的前提
4)弊端:類的耦合性增強(qiáng),我們需要低耦合高內(nèi)聚
5)特點(diǎn):①JAVA中只支持單繼承,不支持多繼承,但它支持多層繼承
6)注意事項(xiàng):
①子類只能繼承父類所有的非私有的成員(方法及變量)
②不要為了部分功能去繼承一個(gè)類
③子類不能繼承父類的構(gòu)造方法,但是可以通過super關(guān)鍵字去訪問父類構(gòu)造方法
7)使用繼承的時(shí)機(jī)
8)成員變量的關(guān)系:
①在子類方法中訪問一個(gè)變量的查找順序:首先在子類的局部范圍內(nèi)查找,有就使用;接著在子類的成員范圍找,有就使用;最后,在父類的成員(變量)內(nèi)尋找(僅考慮單繼承的情況,其余同理類推)
②this和super的區(qū)別
%訪問成員變量:
this/super.成員變量
調(diào)用本類的成員變量/調(diào)用父類的成員變量
%調(diào)用構(gòu)造方法:
this(…) 調(diào)用本類的構(gòu)造方法
super(…) 調(diào)用父類的構(gòu)造方法
%調(diào)用成員方法:
this.成員方法名 調(diào)用本類的成員方法
super.成員方法名 調(diào)用父類的成員方法
③繼承中構(gòu)造方法的關(guān)系:子類中所有的構(gòu)造方法默認(rèn)都會(huì)訪問父類的無參構(gòu)造方法
原因:因?yàn)樽宇悤?huì)繼承父類中的數(shù)據(jù),可能還會(huì)使用父類的數(shù)據(jù)。所以,子類初始化之前一定要先完成父類數(shù)據(jù)的初始化
子類的每一個(gè)構(gòu)造方法的第一條語句默認(rèn)為super();
④繼承中構(gòu)造方法的注意事項(xiàng):
如果父類中沒有無參構(gòu)造(即已給有參構(gòu)造方法)方法,系統(tǒng)調(diào)用子類的構(gòu)造方法將報(bào)錯(cuò)
解決方法:解決方法:在子類構(gòu)造方法最前面加
super(參數(shù)列表);
來調(diào)用父類其他的帶參構(gòu)造方法即可
或者用子類通過this調(diào)用本類的其他構(gòu)造方法來間接調(diào)用父類的帶參構(gòu)造方法
super(…)和this(…)必須放在第一句否則就會(huì)出現(xiàn)父類數(shù)據(jù)多次初始化的情況
⑤一個(gè)類的初始化的過程:默認(rèn)初始化、顯示初始化、構(gòu)造方法初始化

@例題3:看程序?qū)懡Y(jié)果

class Father{ static{System.out.println("靜態(tài)代碼塊Father"); } {System.out.println("構(gòu)造代碼塊Father"); } public Father(){ System.out.println("構(gòu)造方法Father"); } } class Son extends Father{ static{System.out.println("靜態(tài)代碼塊Son"); } {System.out.println("構(gòu)造代碼塊Son"); } public Father(){ System.out.println("構(gòu)造方法Son"); } } class Demo{ Son s = new Son(); }

執(zhí)行結(jié)果為:
靜態(tài)代碼塊Father
靜態(tài)代碼塊Son//加載類時(shí)執(zhí)行
構(gòu)造代碼塊Father
構(gòu)造方法Father
構(gòu)造代碼塊Son
構(gòu)造方法Son

轉(zhuǎn)載于:https://www.cnblogs.com/Tanqurey/p/10485326.html

總結(jié)

以上是生活随笔為你收集整理的JAVA自学笔记08的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。