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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java opp 是什么意思_Java面向对象学习

發布時間:2025/3/21 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java opp 是什么意思_Java面向对象学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java面向對象學習

面向對象思想

物以類聚,分類的思維模式,思考問題首先會解決問題需要哪些分類,然后對這些分類進行單獨思考。最后,才對某個分類下的細節進行面向過程的思索

面向對象適合處理復雜的問題,適合處理需要更多人協作的問題

對于描述復雜的事物,為了從宏觀上把握,從整體上合理分析,我們需要使用面對對象的思路來分析整個系統。但是,具體到微觀的操作,仍然需要面向過程的思路去分析

什么是面對對象

面向對象編程(Object-Oriented Programming,OOP)

面向對象編程的本質就是:以類的方式組織代碼,以對象的形式組織(封裝)數據

抽象

三大特性:

封裝

繼承

多態

從認識論角度考慮是先有對象后有類。對象,是具體的事物。類,是抽象的,是對對象的抽象

從代碼運行角度考慮是先有類后有對象。類是對象的模板

類與對象的關系

類是一種抽象的數據類型,它是對某一事物整體描述/定義,但是并不能代表某一個具體的事物

對象是抽象概念的具體實例

創建與初始化對象

使用new關鍵字創建對象

使用new關鍵字創建的時候,處理分配內存空間之外,還會給創建好的對象進行默認的初始化以及對類中構造器的調用

類中的構造器也稱為構造方法,是在進行創建對象的時候必須要調用的。并且構造器有以下兩個特點:

必須和類的名字相同

必須沒有返回類型,也不能寫void

封裝

我們程序設計要求“高內聚”,“內耦合”。高內聚就是內類的內部數據操作細節自己完成,不允許外部干涉;低耦合:僅暴露少量的方法給外部使用

封裝(數據的隱藏)

通常,應禁止直接訪問一個對象中數據的實際表示,而應通過操作接口來訪問,這稱為信息的隱藏

屬性私有,get/set

封裝的意義:

提高程序的安全性,保護數據

隱藏代碼的實現細節

統一接口

系統可維護性增加了

繼承

繼承的本質是對某一批類的抽象,從而實現對現實世界更好的建模

extends的意思是“擴展”。子類是父類的擴展

Java中類只有單繼承,沒有多繼承

繼承是類和類之間的一種關系。除此之外,類和類之間的關系還有依賴、組合、聚合等

繼承關系的兩個類,一個為子類(派生類),一個為父類(基類)。子類繼承父類,使用關鍵字extends來比表示

object類

Java中,所有類,都默認直接或間接繼承object類

super

調用父類中的屬性和方法

調用父類的構造器,必須要在子類構造器的的第一行

super必須只能出現在子類的方法和構造方法中

super和this不能同時調用構造方法

super和this的區別

代表的對象不同

this:本身調用者這個對象

代表父類對象的應用

前提:

this:沒有繼承也可以使用

super:只能在繼承條件才可以使用

構造方法:

this():本來的構造

super():父類的構造

方法重寫

需要有繼承關系,子類重寫父類的方法

方法名必須相同

參數列表必須相同

修飾符:范圍可以擴大:public>protected>default>private

拋出的異常:范圍可以被縮小,但不能被擴大

多態

即同一方法可以根據發送對象的不同而采用不同的行為方式

一個對象的實際類型是確定的,但可以指向對象的引用的類型有很多

多態存在的條件:

有繼承關系

子類重寫父類方法

父類引用指向子類對象

注意:多態是方法的多態,屬性沒有多態

instanceof 判斷兩個類型之間是否有父子關系

類型轉換注意:

父類引用指向子類的對象

把子類轉換為父類,向上轉型

把父類轉換為子類,向下轉型

方便方法調用,減少重復的代碼

Static

通過static關鍵字來定義靜態

靜態變量和靜態函數可以直接通過類名進行調用,非靜態只能通過對象進行調用

靜態代碼塊

package com.opp.demo01;

//學生類

public class Student extends Person {

//匿名代碼塊可以用于賦初始值

{

System.out.println("匿名代碼塊");

}

//只執行一次

static {

System.out.println("靜態代碼塊");

}

public Student(){

System.out.println("構造方法");

}

public static void main(String[] args) {

Student student = new Student();

System.out.println("==================");

Student student1 = new Student();

}

}

靜態代碼塊

匿名代碼塊

構造方法

==================

匿名代碼塊

構造方法

抽象類

abstract修飾符可以用來修飾方法也可以修飾類,如果休息方法,那么該方法就是抽象方法,如果修飾類,那么該類就是抽象類

抽象類中可以沒有抽象方法,但是有抽象方法的類一定要聲明為抽象類

抽象類不能使用new關鍵字來創建對象,它是用來讓子類繼承的

抽象方法,只有方法的聲明,沒有方法的實現,它是用來讓子類實現的

子類繼承抽象類,那么就必須要實現抽象類沒有實現的抽象方法,否則該子類也要聲明為抽象類

接口

普通類:只有具體實現

抽象類:具體實現和規范(抽象方法)都有

接口:只有規范! 約束和實現分離:面向接口編程

接口就是規范,定義的是一組規則,體現了現實世界中“如果你是...則必須是...”的思想

接口的本質是契約,就像法律一樣,定制好后大家都遵守

OO的精髓,是對對象的抽象,最能體現這一點的就是接口

內部類

內部類就是在一個類的內部再定義一個類

成員內部類

靜態內部類

局部內部類

匿名內部類

標簽:Java,對象,子類,繼承,學習,面向對象,抽象類,父類,方法

來源: https://www.cnblogs.com/wy-xllzb/p/14158857.html

總結

以上是生活随笔為你收集整理的java opp 是什么意思_Java面向对象学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。