Java零基礎,這樣學才快(4)幹了這杯乾貨

2020-12-11 Java從零開始

#華為#催更的老鐵們久等了,五一期間小編出去耍了一下,玩得太入迷就忘了還有文章沒更新。畢竟離開線上,小編還有生活。

看到新聞華為被點名,不由讓我感慨只有核心的東西掌握在自己手中,才有絕對的話語權!不管是找工作還是搞點其它都有絕對的主動權。

應該很多人都看到過,一些例如幾天就學會JAVA的文章。我可以很負責地告訴大家,這些文章都是扯淡的。Java就算是老師手把手教你,他也不敢說幾天就學會!

So,還是老老實實的跟著小編的節奏來學習,來吸收。

咱們繼續接著上期內容往下寫。沒看過之前文章的小夥伴。

為了能跟上小編的節奏推薦看一下

JAVA零基礎,快速學習(1)JAVA零基礎,這樣學習才快(2)乾貨滿滿Java零基礎,這樣學才快(3)純乾貨

一、繼承

Java繼承的話套路和c++大體是一樣的。,當然如果有盆友不懂繼承機制以及為什麼要有繼承的話下篇出一篇詳細的內容

這期直接上示例代碼,讀者可以大致看看->然後在跟著代碼後面的解釋 ->再次精讀

//base.java

package inherit;

public class base

{

private int id;

protected int math;

protected int Chinese;

public base(int id) //有參構造器

{

this.id=id; //this 用來指向自身 這裡用來區分 形參的id與類的成員id

}

public int re_id()

{

return id;

}

public int total_points() //總分

{

return math+Chinese;

}

}

//boy.java

package inherit;

public class boy extends base //用關鍵字 extends 繼承

{

private int circuit;

public boy(int id) //構造函數

{

super( id); //用super調用父類的構造器 傳入參數

}

public int total_points()

{

int a=super.total_points(); //用surper調用父類的方法

return a+circuit;

}

public void set_cir(int g)

{

circuit=g;

}

public void set_math_ch(int ma,int ch)

{

math=ma;

Chinese=ch;

}

public void set_math_ch(int ma)

{

Chinese=60;

math=ma;

}

public static void main(String[] args)

{

boy b =new boy(1);

System.out.println(b.re_id()); //使用基類的方法

b.set_math_ch(75); //使用只有一個參數的重載函數

b.set_cir(80);

System.out.println(b.total_points());

}

}

1.首先java中是通過關鍵字extends實現繼承的。值得注意的的是在Java中實現的繼承機制同C++中的公有繼承一樣!並且java不可以多繼承!

2.構造機制和c++略有不同,在C++中如果父類的構造器是有參數的,那麼在子類中的構造器應該通過成員初始化列表的的語法來完成參數傳遞的工作。在Java中通過super這個關鍵字在子類構造器中顯示調用並傳入參數!

3.Java支持成員函數重載和子類重寫父類的函數。但是不支持直接像c++中那樣進行默認參數,不過還是有對策的,可以利用重載巧妙的實現默認參數,具體可以參考上面代碼中的set_math_ch函數!

4.this的用法同C++!不過有種很通用的技巧,用於方法內的局部變量與對象的數據域變量同名的情況!用this可以起到表示當前對象的數據域變量的作用。可以參考代碼中的 this.id=id;

5.super這個關鍵字用法可以總結如下

【1】調用父類的構造方法;

【2】調用父類的方法(子類覆蓋了父類的方法時);

【3】訪問父類的數據域(可以這樣用但沒有必要這樣用)

6.final關鍵字上一篇文章中提到過他相當於c++中的const 他還有另外的用法 就是 聲明類可以把類定義為不能繼承的,即最終類;或者用於修飾方法,該方法不能被子類重寫。

7.當然也支持父類指向子類 如 base b=new boy();

8.最後還有一點就是java中所有類都是Object的直接或者間接之類。如果一個類沒有顯示的申明他的父類是誰,那麼他的父類就是Object。

二、抽象類

1.抽象類除了不能實例化對象之外,類的其它功能依然存在,成員變量、成員方法和構造方法的訪問方式和普通類一樣。由於抽象類不能實例化對象,所以抽象類必須被繼承,才能被使用。

2.使用Abstract關鍵字來聲明這個類為抽象類,Abstract關鍵字同樣可以用來聲明抽象方法,抽象方法只包含一個方法名,而沒有方法體。抽象方法沒有定義,方法名後面直接跟一個分號,而不是花括號。

3.抽象類的意義,這裡只簡單的總結一下,等學習完Java類的全部語法在進行系統的總結。

在面向對象的編程中,主要思想之一就是用類來描述這個世界的任何事物。不過這個世界的事物是可以歸類的,比如貓、狗、大象。又比如我們鍵盤中的鍵 如space鍵 它既是空格鍵又是很多播放器的暫停鍵等等。我們可以按照歸類他有聯繫的事物抽象出來,寫成抽象類。抽象類並不指向特定的某個事務,他是抽象的,他代表著一類事物共有的特徵!

4.下面用一個實例代碼說明,比如某學校要收教材費,有高一到高三3個年級。教務辦發出通知讓各個年級匯總他們的教材費。那麼這個類就可以做如下抽象

/*抽象類*/

package abstraction;

public abstract class abstraction_jw

{

protected int ch;

protected int math;

protected int Eng;

protected int ch_ma_en_money()

{

return ch+math+Eng;

}

public abstract int all_money();

}

/*高一類*/

package abstraction;

public class one extends abstraction_jw

{

int history; //高一有歷史課

public one()

{

//高一書的定價

ch=50;

math=40;

Eng=70;

history=30;

}

@Override

public int all_money()

{

return ch_ma_en_money()+history;

}

}

/*高二類*/

package abstraction;

public class tow extends abstraction_jw

{

int physics; //高二有物理課

public tow()

{

//高二的書的定價

math=80;

ch=70;

Eng=60;

physics=100;

}

@Override

public int all_money()

{

// TODO Auto-generated method stub

return ch_ma_en_money()+physics;

}

}

/*入口*/

package abstraction;

public class jw_main

{

public static void main(String[] args)

{

abstraction_jw one_m=new one();

abstraction_jw tow_m=new tow();

System.out.println("高一:"+one_m.all_money());

System.out.println("高二:"+tow_m.all_money());

}

}

對於我寫的,我覺得我寫的是比較詳細的了。但是我相信還是有一部分人看得不太明白。對於要是看不懂,推薦看一下我前面幾篇文章。Java學習要有耐心,慢慢消化。

如果實在不明白,也沒關係開發這麼多年我也總結了一套學習Java的資料與面試題,私信我發給你,另外如果你在技術上面想提升自己的話,也可以關注我後面更新的內容。

相關焦點

  • Java零基礎 這樣學才快(終)
    不知不覺已經寫了幾天了,關於零基礎學習java的教程也迎來的最後一篇這期間有多人私信我一些問題,也有很多人問我要學習資料。不管如何,我希望我所寫所給,對你們未來都有所幫助。那麼咱們這期就把最後的一些內容搞完。
  • 零基礎學java,常見的誤區和解決方法
    造成這樣的結果說白了還是技術學得不好,沒有掌握正確的學習方法。 我的個人建議: 1,首先零基礎學習java先要有一個學習計劃,了解java要學習哪些技術。
  • 零基礎學Java的幾大問題:我適合自學Java嗎?Java學習成本?Java 真的很難嗎?
    點擊 閱讀原文,可獲取超過乾貨和超值課程!Java是一門永不言敗的開發語言,隨著軟體行業的興盛,現在學習java的人員也是越來越多了,但是想要學好java的話自學是沒有那麼容易的事情。特別是對於零基礎的學員來,所以對於零基礎的學員來說都是要參加java培訓機構才是最合適的學習方式。很多的零基礎學員都會問,零基礎學習java真的很難嗎?要回答這個問題,我們應該從多方面來回答。
  • 「零基礎學JAVA」基礎篇 第二章 JAVA編程初體驗
    JAVA【零基礎學編程】系列今天給大家帶來基礎篇 第二章 JAVA編程初體驗本節的部分編碼操作需要先安裝JDK開發工具「零基礎學JAVA」工具篇 JDK的安裝教程(WINDOWS版)和環境變量的配置「零基礎學JAVA」工具篇
  • 零基礎學Java難嗎?可以從事什麼工作?
    學習什麼比較適合,今天小編給大家推薦學習的是java,首先java一直是程式語言中的常青樹,也是最基礎,最穩,最火的語言。學習java,要注意的一方面是對於抽象概念的理解,也就是編程思想,邏輯思維;另一方面是實踐,找些項目做,零基礎學Java難嗎?可以從事什麼工作?
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    零基礎學Java主流開發語言根據最新2020年TIOBE程式語言指數排行榜,Java仍然排名前三位。零基礎學Java市場需求決定你的學習方向,招聘平臺上招程式設計師java佔比很高。以上是許多人選擇Java語言系統的重要原因。
  • 零基礎如何自學Java開發?這樣的建議愛聽不聽
    小編今天給大家講一下,作為一個零基礎的小白,應該如何用正確的方法去學習Java這門語言,最終拿到高薪的工作。很多初學者開始學習Java的時候,一定想到的是先買書看書來學習,小編提醒大家,作為一個Java初學者,看書學習就是一個錯誤的開始。
  • 這樣學習Java,才能找到一份Java開發的工作。不要盲目的學
    我發現很多人在學習java的時候還在看很老的視頻,目前java已經出了java12,所以就是我們學習的內容要是最新的。這行的技術更新的比較快。所以三四年前的視頻就沒有必要看了。所以首先就得明白自己應該學習什麼最新的技術體系。根據公司的目前的技術配置來學習。衡量一下自己的水平。什麼專業,什麼學歷,是否學過編程。
  • 零基礎學Java的學習路線圖是怎樣的?
    ·  零基礎學Java的學習路線圖是怎樣的?·  新手Java學習到什麼程度可以找第一份工作?
  • java工程師工資一般多少?java自學容易嗎?公司會要嗎-開課吧
    學任何東西,初入門都會有一定難度,其實這沒什麼,每個人都遇到這道坎的。我的經驗,學任何東西,難並不可怕,難的是畏懼。,有計劃才有實現的可能2、尋找一起學Java的夥伴,雖然興趣是第一,但是自學遇到的困難和瓶頸會更多,很容易讓你打退堂鼓,此時此刻夥伴的鼓勵很重要,朋友之間相互打卡學習,讓學習效率翻倍提高!
  • 零基礎學Java怎麼學?Java視頻教程哪裡有?
    零基礎學Java怎麼學?Java視頻教程哪裡有?下面跟著千鋒一起來看看吧!身為Java自學的踐行者,經歷了從入門到放棄再到奮起直追的此起彼伏的過程,因為一開始的懵懂無知,總是活躍在各個社區平臺,碰到一些推薦書籍和視頻教程就會通通收藏,因為沒有一定的鑑別能力,之後就導致了這樣一個結果,網盤中的資料都填滿了,但真正想看的時候真的不知道哪個Java視頻教程更好一些?
  • 開課吧:學Java可以就職哪些職位?Java工程師一般月薪是多少?
    零基礎學JavaJava可以從事JSP網站開發、Java編程、Java遊戲開發、Java桌面程序設計,以及其他與Java語言編程相關的工作,就業面非常廣。java也有不同的方向,javaEE的方向更好些,像是電信,網際網路,物流,財務,證券,銀行,生產製造等ERP管理軟體,大型網站及後臺開發。薪資都比較客觀。java主要用於開發應用,現在很多企業和公司都要依賴於應用來運轉、盈利,比如電商平臺、O2O、金融系統等等。而與之不太一樣的像C語言主要用來開發系統底層通訊,比如驅動軟體。
  • 想要加入it行業,需要先學習java,零基礎到底該如何來學習好呢?
    如果想要加入It行業,或者是自己想要當一個程式設計師的話,那麼就應該選擇一個程式語言來學習,在眾多的程式語言當中java是大家非常喜歡的,這一個程式語言又有著很多的優勢,而且也在廣泛的應用,可以作為軟體開發,也可以開發軟體,網站等等,還有很多其他的作用,比如做系統等等。如果想要成功的加入愛這個行業,那麼就應該先學習一下這一種程式語言,有很多小夥伴都屬於零基礎,那麼零基礎,到底該如何來學習好呢?
  • 英語口語英語零基礎怎麼學,3年學習經驗乾貨分享
    之前寫過幾篇英語學習筆記,很多人過來問我零基礎英語口語怎麼學好,這次給大家來一個總結性的回答。3年前,我也是零基礎英語口語小白,大學四級沒過,後來參加社會工作需要用到英語,因為不會英語鬧出多次尷尬,才下定決心要學好英語。
  • 如何零基礎學好Java編程
    對於那些已經在學習Java路上的新人或者正打算學習Java的0基礎者,都會有一個共同的疑問,疑問的是「學習Java有沒有更好的方法」,其實對於這樣的問題,不同人都有不同的看法,總的來講就2種學習方法,一是自學;關於自學在學習毅力和時間上也是一個考驗,另一個就是大部分人會選擇的參加社會培訓
  • 新手轉行學java難嗎?新手學java需要注意的6個方面!
    新手轉行學java難嗎?新手學java需要注意的6個方面!
  • 成人英語零基礎,想學應該怎麼做?
    成人英語零基礎,想學應該怎麼做?,大家是不是經常碰到這樣的問題:零基礎如何學英語,學英語很吃力,感覺怎麼學都學不好,單詞也都記不住,語法學過就忘了,怎麼辦? 零基礎如何學英語 成人英語零基礎,想學應該怎麼做,下面再說說零基礎自學英語有哪些方式,首先,學英語必須有一個目標。想要提高英語水平,必須要有一個目標。
  • 學好java,掌握java編程思想很重要!學習java分三步
    浮雲我是一個剛剛畢業的大學生,專業是學的java,但是由於在大學時期貪玩,打遊戲,導致專業技術不過關,因此,在做了一番思想鬥爭過後,我決定了在我所在的城市找了一個培訓學校,所以我也就從頭學習java了。
  • 零基礎程式設計師,怎麼學習Java編程,像淘寶購物一樣簡單輕鬆
    大家好,今天我們來分享一下「零基礎程式設計師,怎麼學習Java」,像淘寶購物一樣簡單輕鬆。前面寫的一篇「全速自學Java編程」,是基於有一點編程基礎的,對於零基礎想轉行軟體開發工程師,看著就是雲裡霧裡。所以,今天寫一篇零基礎學計算機編程的文章。
  • 老杜帶你學Java【第六課】
    接下來,我們繼續「零基礎學Java」的第六課。1.  打開網盤連結,並下載視頻2.  結合本文的課堂筆記,觀看視頻學習3.  整理筆記,轉化成自己的知識4. 1.2、數據類型在java語言中包括兩種: 第一種:基本數據類型 基本數據類型又可以劃分為4大類8小種: 第一類:整數型 byte,short,int,long (沒有小數的) 第二類:浮點型 float,double (帶有小數的) 第三類:布爾型 boolean:只有兩個值true