国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java入門】-- Java基礎詳解之 [Java面向對象編程(初級)]

這篇具有很好參考價值的文章主要介紹了【Java入門】-- Java基礎詳解之 [Java面向對象編程(初級)]。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1.類與對象

2.類與對象的區(qū)別與聯(lián)系

3.對象在JVM內存中的存在形式(重要)

4.屬性/成員變量/字段

5.如何創(chuàng)建對象

6.類和對象的內存分配機制

7.面向對象的三大特征?

8.面向對象和面向過程?

9.匿名對象

10.方法(method)

11.方法的重載(overload)

12.可變形參

13.遞歸

14.封裝

15.四種訪問權限修飾符

16.構造器

17.什么是javaBean

18.this是什么?

19.package和import


1.類與對象

拋磚引玉,一個小動物的問題引出類與對象:小明養(yǎng)了兩只小狗狗,一只名字叫小黑,今年2歲,黑色。還有一只叫小白,4歲,白色。輸入小狗名字就顯示狗狗的名字,年齡,顏色。如果輸入的名字錯誤,就顯示沒有這個狗狗。

  • 使用現(xiàn)有的技術解決:
    • 定義變量方式解決
    • 使用數(shù)組解決
  • 使用這兩個技術解決問題的痛點:
    • 不利于數(shù)據(jù)的管理,效率低。所以Java設計者引入了類與對象的概念,解決新的需求。
  • 代碼:
    public class Object01{
    //小明養(yǎng)了兩只小狗狗,一只名字叫小黑,今年2歲,黑色。還有一只叫小白,4歲,白色。
    //輸入小狗名字就顯示狗狗的名字,年齡,顏色。如果輸入的名字錯誤,就顯示沒有這個狗狗。
        public static void main(String[] args){
            //如何使用面向對象(OOP)解決
            //1.創(chuàng)建一只狗狗對象(實例化)  new Cat();
            //Dog dog1 = new Dog(); 把創(chuàng)建的狗狗賦給cat1
            //dog1就是一個對象了
        
            //創(chuàng)建第一只狗狗
            Dog dog1 = new Dog();
            dog1.name = "小黑";
            dog1.age = 2;
            dog1.color = "黑色";
              
            //創(chuàng)建第二只狗狗
            Dog dog2 = new Dog();
            dog2.name = "小白";
            dog2.age = 4;
            dog2.color = "白色";
            
            System.out.println("第一只狗狗的信息:"+dog1.name+","+dog1.age+"歲,"+dog1.color);
            System.out.println("第二只狗狗的信息:"+dog2.name+","+dog2.age+"歲,"+dog2.color);
        }
    }
    
    //定義狗狗類
    class dog{
        String name;
        int age;
        String color;
    }

2.類與對象的區(qū)別與聯(lián)系

  • ?類是抽象的,是概念,代表一類事物,如動物,植物等...

  • 對象是具體的,實際的,代表一個具體的事務。

  • 類是對象的模板,對象是類其中的一個實例。

3.對象在JVM內存中的存在形式(重要)

【Java入門】-- Java基礎詳解之 [Java面向對象編程(初級)],Java入門,java,開發(fā)語言

4.屬性/成員變量/字段

?從概念或叫法上看:成員變量 = 屬性 = field(字段)

屬性是一個類的組成部分,一般是基本數(shù)據(jù)類型,也可以是引用數(shù)據(jù)類型。

注意事項:

  • 屬性的定義語法同變量。例如:訪問修飾符? 屬性類型? ?屬性名;
    訪問修飾符有四種:public、proctected、默認、private
  • 屬性的定義的類型可以是基本數(shù)據(jù)類型或引用數(shù)據(jù)類型。
  • 屬性不賦值,有默認值。

byte 0? short 0? int 0? long 0? flout 0.0? double 0.0? boolean false? String null? ?char \u0000

5.如何創(chuàng)建對象

  • ?先聲明再創(chuàng)建
    Cat cat;? //聲明對象cat
    cat = new? Cat();? //創(chuàng)建
  • 直接創(chuàng)建
    Cat cat = new Cat();

如何訪問屬性:

基本語法:對象名.屬性名? ? ?如:cat.name;

6.類和對象的內存分配機制

  1. Java內存的結構分析
    1. 棧:一般存放基本數(shù)據(jù)類型(局部變量)
    2. 堆:存放對象(Cat cat,數(shù)組等)
    3. 方法區(qū):常量池(常量,如字符串),類加載信息。

7.面向對象的三大特征?

  • 繼承:繼承是指一個類(稱為子類或派生類)可以繼承另一個類(稱為父類或基類)的屬性和方法。子類可以重用父類的代碼,并且可以在此基礎上進行擴展或修改。通過繼承,子類可以獲得父類的特性,形成類之間的層次結構。這樣可以提高代碼的可重用性和靈活性,減少重復編寫代碼的工作量。
  • 封裝:封裝是將數(shù)據(jù)和對數(shù)據(jù)的操作封裝到一個類中,對外部隱藏具體的實現(xiàn)細節(jié),只對外暴露必要的接口。通過封裝,我們可以控制對數(shù)據(jù)的訪問方式,提供統(tǒng)一的接口來操作數(shù)據(jù),從而提高代碼的可讀性、可維護性和安全性。封裝還有助于實現(xiàn)代碼的模塊化和解耦。
  • 多態(tài):多態(tài)是指同一個方法可以在不同的對象上具有不同的行為。在多態(tài)的使用中,我們可以使用父類類型的引用指向子類的對象。通過多態(tài)機制,我們可以實現(xiàn)動態(tài)綁定和運行時的方法調用。多態(tài)提高了代碼的靈活性和可擴展性,使得程序能夠以更加通用和抽象的方式進行編寫。

8.面向對象和面向過程?

面向過程(POP):強調的是功能行為,以函數(shù)為最小的單位,考慮怎么做。

面向對象(OOP):將功能封裝進對象,強調具備了功能的對象,以類\對象為最小單位,考慮誰去做。

9.匿名對象

我們可以不定義對象的句柄,直接調用這個對象的方法。例如:new Cat().start();
注意:如果一個對象的方法只需要一次調用,那么可以使用匿名對象。

10.方法(method)

  • 方法是類或者對象的"行為“ ,用來完成某個操作;方法不能獨立存在,必須定義在類中。
  • 方法的聲明格式:
    訪問修飾符? 返回值類型? 方法名(參數(shù)類型 形參,.....){
    ? ? ? ? ?方法體;
    ? ? ? ? return? 返回值;(返回值類型void,沒有返回值)
  • }
  • 舉例:
    public class Car{
        private int age;
        public int getAge(){
           return age;     
        }
    }

注意事項:

  1. 方法被調用一次就會執(zhí)行一次。
  2. 沒有具體返回值的情況,返回值類型用void,方法體就不必用return。
  3. 不可用在方法內部定義方法。?

11.方法的重載(overload)

重載就是允許存在一個以上的同名方法,只要他們參數(shù)個數(shù)或類型不同。

特點:

與返回值類型無關,參數(shù)列表不同。

例如:

int? add(int a,int b){return a+b;}

int add(int a){return x;}

int add(float a,float b){return a+b;}

12.可變形參

JDK5以前采用數(shù)組形參來定義方法,傳入多個同類型的變量

public static void test(int a,String[] aa);

JDK5以后采用可變個數(shù)形參來定義方法

public static void test(int a, String...aa);

注意:

  • 聲明格式:方法名(參數(shù)類型名...參數(shù)名)。
  • 可變參數(shù):方法參數(shù)部分指定類型的參數(shù)個數(shù)是可變多個:0個,1個或多個。
  • 可變個數(shù)形參的方法與同名方法之間彼此構成重載。?
  • 可變參數(shù)方法的使用與方法參數(shù)部分使用數(shù)組一致。
  • 同一個方法的形參上只能聲明一個可變參數(shù)。

13.遞歸

?簡單來說就是一個方法體調用它自己。

遞歸方法包含了一種隱式的循環(huán),它會重復執(zhí)行某段代碼。

遞歸一定要向已知的方法遞歸,否則遞歸就變成了無窮遞歸,類似死循環(huán).

舉例:

//計算1--100自然數(shù)的和

public int sum(int num){

? ? ? ? if(num == 1){

? ? ? ? ? ? ? ?return 1;? ? ? ??

????????}else{

? ? ? ? ? ? ? ? return num + sum(num -1)?;? ? ? ?

????????}

}

14.封裝

  • ?為什么需要封裝?有什么用?
    • 比如我要使用電腦,只需要開機進入系統(tǒng)就能用了,沒有必要了解系統(tǒng)底層或硬件內結構
  • 程序設計追求高內聚,低耦合。
    • 高內聚是指類的內部數(shù)據(jù)操作細節(jié)自己完成,不允許外部干涉。
    • 低耦合:僅對外暴露少量的方法使用。
  • 隱藏方法內部,之對外公開簡單的接口。便于外界調用,提高系統(tǒng)的可擴展性,可維護性。

15.四種訪問權限修飾符

【Java入門】-- Java基礎詳解之 [Java面向對象編程(初級)],Java入門,java,開發(fā)語言

class只能使用public,默認

public 類可以在任何地方訪問。

默認類只能被同一個包的類訪問。

16.構造器

構造器的特征:

  • 具有類相同的名稱。
  • 不聲明返回值類型
  • 不能被static,final,synchronized,abstract,native修飾,不能有return語句。

構造器作用:

創(chuàng)建對象,初始化對象

注意:

  • Java語言中每個類都有構造器
  • 默認構造器的修飾符與類的修飾符一致。
  • 一旦顯示定義了構造器,系統(tǒng)不再提供默認構造器。
  • 一個類可以創(chuàng)建多個重載的構造器。
  • 父類構造器不可被繼承。

屬性賦值的過程:

默認初始化--》顯式初始化--》構造器初始化--》通過"對象.屬性"或"對象.方法"賦值

17.什么是javaBean

  • JavaBean是Java寫成的可重用組件。
  • 所謂JavaBean指的是符合如下標準的Java類:
    • 類是公共的
    • 有一個無參的公共構造器
    • 有屬性,且有get,set方法
  • 用戶可以使用JavaBean將功能,處理,值,數(shù)據(jù)庫訪問和其他任何可以用Java代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內部JSP頁面,Servlet,其他JavaBean,applet程序或者應用來使用這些對象。用戶可以認為javaBean提供了一種隨時可以復制粘貼的功能,而不用關心變化。

舉例:

【Java入門】-- Java基礎詳解之 [Java面向對象編程(初級)],Java入門,java,開發(fā)語言

18.this是什么?

this可以調用類的屬性,方法,構造器。

它可以在方法內部使用,這個方法所屬對象的引用。

在構造器內部使用,表示該構造器正在初始化的對象。

注意:

  • 可以在類的構造器使用”this(形參列表)“的方式,調用本類中重載的其他構造器!
  • 構造器中不能通過this(形參列表)調用自身構造器
  • this(形參列表)必須聲明在類的構造器首行!
  • 類的構造器中,最多只能聲明一個this(形參列表)

19.package和import

包(package):

  • package語句作為Java源文件的第一條語句,指明該文件中定義的類所在的包
    格式:package? 頂層包.子包名;
  • 包對應于文件系統(tǒng)的目錄,package語句中,用“.”來指明包(目錄)的層次;
  • 包通常用小寫單詞標識。
  • 包的作用:
    • 包可以包含類和子包,劃分項目層次,便于管理
    • 解決類命名沖突問題
    • 控制訪問權限

導入 (import):

為使用定義在不同包中的Java類,需要用import語句引入指定包層次下所需的類或全部類

語法:import? 包名.類名;文章來源地址http://www.zghlxwxcb.cn/news/detail-527448.html

到了這里,關于【Java入門】-- Java基礎詳解之 [Java面向對象編程(初級)]的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Java基礎(七)面向對象編程(高級)

    Java基礎(七)面向對象編程(高級)

    回顧類中的實例變量(即非static的成員變量) 創(chuàng)建兩個Circle對象: Circle類中的變量radius是一個實例變量(instance variable),它屬于類的每一個對象,c1中的radius變化不會影響c2的radius,反之亦然。 如果想讓一個成員變量被類的所有實例所共享,就用static修飾即可,稱為類變量(

    2023年04月16日
    瀏覽(29)
  • 7.面向對象編程(基礎部分)|Java學習筆記

    7.面向對象編程(基礎部分)|Java學習筆記

    java 設計者 引入 類與對象(OOP) ,根本原因就是現(xiàn)有的技術,不能完美的解決新的新的需求. 類是抽象的,概念的,代表一類事物,比如人類,貓類…, 即它是數(shù)據(jù)類型. 對象是具體的,實際的,代表一個具體事物, 即 是實例. 類是對象的模板,對象是類的一個個體,對應一個實例

    2024年02月08日
    瀏覽(54)
  • Java面向對象程序開發(fā)——網(wǎng)絡編程入門知識

    Java面向對象程序開發(fā)——網(wǎng)絡編程入門知識

    ? C/S結構 :client/sever是指客戶端和服務器結構。常見程序有QQ、迅雷等軟件。 B/S結構 :browser/sever是指瀏覽器和服務器結構。常見瀏覽器有谷歌、火狐等。 Web應用系統(tǒng)開發(fā)的兩種流行架構 兩種架構各有優(yōu)勢,但是無論哪種架構,都離不開網(wǎng)絡的支持。網(wǎng)絡編程,就是在一

    2024年02月12日
    瀏覽(92)
  • Java面向對象編程實戰(zhàn)詳解(圖書管理系統(tǒng)示例)

    Java面向對象編程實戰(zhàn)詳解(圖書管理系統(tǒng)示例)

    Java面向對象編程(Object-Oriented Programming,OOP)是Java語言的核心特性之一,它提供了一種組織代碼的方法,將現(xiàn)實世界中的事物抽象為對象,并通過對象之間的交互來構建程序。Java面向對象編程包含以下主要概念: 類和對象(Class and Object): 類是面向對象編程的基本構建塊

    2024年02月15日
    瀏覽(19)
  • 【Java基礎教程】特別篇:面向對象合輯——掀開Java 的面向對象蓋章時代,一起來發(fā)現(xiàn)OOP的編程秘密!~

    【Java基礎教程】特別篇:面向對象合輯——掀開Java 的面向對象蓋章時代,一起來發(fā)現(xiàn)OOP的編程秘密!~

    面向對象編程(Object-Oriented Programming, OOP)是一種廣泛應用于軟件開發(fā)的編程范式 。Java是一種面向對象的編程語言,它提供了豐富的工具和特性來支持面向對象編程。本文將詳細介紹Java面向對象的全部知識。 我們可以把一個Java類想象成是一個藍圖或者模具,用來創(chuàng)建對象。就

    2024年02月17日
    瀏覽(28)
  • 【Java基礎篇 | 面向對象】—— 封裝詳解

    【Java基礎篇 | 面向對象】—— 封裝詳解

    個人主頁:兜里有顆棉花糖 歡迎 點贊?? 收藏? 留言? 加關注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【JavaSE_primary】 本專欄旨在分享學習Java的一點學習心得,歡迎大家在評論區(qū)討論?? 封裝概念 : 將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一個類中,對外部的訪問只通過類提供的

    2024年02月09日
    瀏覽(24)
  • java基礎入門-05-【面向對象進階(static&繼承)】

    java基礎入門-05-【面向對象進階(static&繼承)】

    類的定義格式如下: 例如: 例如: 1.3.1 封裝的步驟 1.使用 private 來修飾成員變量。 2.使用 public 修飾getter和setter方法。 1.3.2 封裝的步驟實現(xiàn) private修飾成員變量 public修飾getter和setter方法 1.4.1 構造方法的作用 在創(chuàng)建對象的時候,給成員變量進行初始化。 初始化即賦值的意

    2024年02月03日
    瀏覽(24)
  • 【Java 初級】Spring核心之面向切面編程(AOP)

    【Java 初級】Spring核心之面向切面編程(AOP)

    tip:作為程序員一定學習編程之道,一定要對代碼的編寫有追求,不能實現(xiàn)就完事了。我們應該讓自己寫的代碼更加優(yōu)雅,即使這會費時費力。 ???? 推薦: 體系化學習Java(Java面試專題) AOP(面向切面編程)是一種編程范式,用于將橫切關注點(如日志記錄、性能統(tǒng)計等

    2024年02月04日
    瀏覽(27)
  • 【Java基礎教程】(七)面向對象篇 · 第一講:上干貨!面向對象的特性、類與對象、內存結構引用分析、垃圾收集器 GC處理、封裝性詳解、構造方法、匿名對象、簡單 Java 類~

    【Java基礎教程】(七)面向對象篇 · 第一講:上干貨!面向對象的特性、類與對象、內存結構引用分析、垃圾收集器 GC處理、封裝性詳解、構造方法、匿名對象、簡單 Java 類~

    程序是將數(shù)據(jù)和邏輯封裝在一起的代碼段。在Java中,方法是常用的代碼段封裝方式。然而,在Java中,方法必須存在于一個類中才能使用。因此,我們將進入本章的核心內容——面向對象編程。 利用面向對象設計的程序可以實現(xiàn)代碼的重用,并方便開發(fā)者進行項目維護。面向

    2024年02月13日
    瀏覽(25)
  • Java 學習路線:基礎知識、數(shù)據(jù)類型、條件語句、函數(shù)、循環(huán)、異常處理、數(shù)據(jù)結構、面向對象編程、包、文件和 API

    Java 是一種由 Sun Microsystems 于 1995 年首次發(fā)布的編程語言和計算平臺。Java 是一種通用的、基于類的、面向對象的編程語言,旨在減少實現(xiàn)依賴性。它是一個應用程序開發(fā)的計算平臺。Java 快速、安全、可靠,因此在筆記本電腦、數(shù)據(jù)中心、游戲機、科學超級計算機、手機等領

    2024年03月24日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包