重慶達內IT培訓
美國上市IT培訓機構

15023458194

重慶java培訓:面向對象編程

  • 時間:2021-04-07 13:46
  • 發布:重慶達內
  • 來源:重慶達內

1.初識面向對象

面向過程&面向對象

面向過程思想

步驟清晰簡單,第一步,第二步做什么。

適合處理較為簡單的問題

性能高

線性思維

面向對象思想

分類的思維模式,思考問題解決需要哪些分類,然后對這些分類進行單獨思考

宏觀上把握,整體上合理分析,微觀細節,仍需要面向過程的思路處理

易維護,易復用,易拓展

什么是面向對象

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

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

抽象

三大特性:

封裝

繼承

多態

對象:具體的事物。類是抽象的,是對對象的抽象

類是對象的模板

類與對象的關系

類是一種抽象的數據類型,是對某一類事物的整體描述

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

類中包含

靜態的屬性:屬性

動態的行為:方法

2. 方法回顧加深

方法的定義

修飾符 :public /private/protected/default

返回值類型

break :跳出switch,j結束循環,和return 相區別

方法名 :見名知意,符合規則

參數列表 :參數類型,參數名 ... 可變形參

異常拋出

方法的調用

靜態方法 :通過類名直接調用,隨類一起加載 只能調用靜態方法。

非靜態方法 :類實例化對象調用 類實例化后才加載,靜態非靜態方法都可調用

形參和實參:參數類型要 一 一對應

值傳遞和引用傳遞:

值傳遞:基本數據類型參數,傳遞的是實際存在的數值

引用傳遞:對象,傳的地址

this關鍵字

3.對象的創建分析

創建與初始化對象

使用new關鍵字創建對象,分配內存空間并給創建好的對象進行默認的初始化以及對類中構造器的調用。

類中的構造器(構造方法),是進行創建對象時必須調用的,構造器有以下倆特點

必須和類的名字相同

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

格式:權限修飾符+類名() { }

一個類中至少有一個構造器

class Person{

//構造器

public Person(){

}

}

有參構造器

可與其他形參列表不同的構造器構成重載

一旦定義了顯示的構造器,系統就不再提供默認的空參構造器

對象的使用

對象的屬性和方法

Person people=new Person();

people.say();//調用方法

people.name; //調用屬性

4.面向對象三大特性

封裝

該隱藏的隱藏,該暴露的暴露

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

封裝(數據的隱藏)

屬性私有,get()/set() 方法對其操作

class Person{

private int age;

private String name;

public int getAge(){

return this.age;

}

public void setAge(int age){

this.age=age;

}

}

優點

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

隱藏代碼的實現細節

統一接口

系統可維護性增強

繼承

繼承的本質是對某一批類的抽象;

extends "擴展",子類是父類的擴展 使用此關鍵字來實現繼承

java中只有單繼承,沒有多繼承

繼承是類和類之間 的關系

子類與父類的關系,從意義上來講具有“ is a" 的關系。

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

super :

調用父類的屬性和方法 super;調用父類的構造方法

隱式的調用了父類的無參構造器,只能出現在子類方法或構造方法中

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

VS this

代表的對象不同

this 本身調用者這個對象

super 父類對象的引用

前提

this :沒有繼承也可以使用

super 只能在繼承中使用

構造方法:

this() :本類的構造器

super() :父類構造器

final

final修飾變量:此變量為一個常量

final修飾的類不可被繼承(斷子絕孫)

final修飾的方法 :不能被重寫

final修飾局部變量,一旦賦值,只能使用,不可改變。

方法重寫

前提條件:有繼承關系,子類重寫父類的方法

規則(子類的方法和父類方法必須一致,方法體不同)

方法名必須相同

參數列表必須相同

修飾符:范圍可以擴大但不能縮小

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

非靜態方法的重寫

私有方法 static 修飾的方法 ,final 修飾的方法 不能被重寫

私有的屬性和方法不能被繼承

為什么要重寫:

1. 父類的功能,子類不一定需要,或不一定滿足;

2. @override

多態

一種事物的多種形態

繼承是多態的前提,類型轉換異常

何為多態性

父類的引用指向子類的對象(子類的對象賦給父類的引用)

子類重寫父類的方法,執行子類的方法

編譯看左,運行看右

方法的多態,屬性沒有多態

instanceof

a instanceof A :判斷對象a是否是類A的實例

使用:避免向下轉型時出現class Cast Exception 的異常,在轉型之前進行 instanceof 的判斷

向下轉型: 父類轉為子類(強制轉換)

向上轉型:子類轉為父類

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

5. static(隨類加載)

static 修飾變量

靜態變量 :在類內存中只有一個,能被類中所有實例所共享

非靜態變量 :成員變量和全局變量

static 修飾方法:

靜態方法:只能調用靜態方法和靜態變量(生命周期不相同)工具類方法

非靜態方法:可調用靜態和非靜態的方法

可通過類名 .方法 類名 .屬性 調用

修飾代碼塊:初始化變量 ,只執行一次

靜態導入包

import static java.lang.Math.random;

class Person{

public static void main(String[] args){

System.out.print(random());

}

}

6.抽象類和接口

抽象類

abstract 修飾

修飾方法:抽象方法

修飾類:抽象類

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

抽象類不能創建實例對象,用來讓子類繼承

抽象方法:只有方法的聲明,沒有方法體,子類來重寫實現

子類繼承抽象類,則該子類必須重寫抽象類中的抽象方法,不然,該子類也要聲明為抽象類

存在構造器

接口

只有規范:一組規則,實現類來遵守

聲明使用interface 關鍵字

可以實現多繼承,易擴展

實現類實現接口使用關鍵字 implements

接口中的方法都是抽象的,不同的實現類需要對接口中的所有方法重寫

接口中定義的屬性都是常量 public static final

接口不能被實例化,接口中沒有構造方法

7.內部類及opp實戰

內部類

定義:就是在類內部定義一個類

public class Outer{

public void out(){

System.out.print("外部類方法");

}

class Inner{

public void in(){

System.out.print("內部類方法");

}

}

}

分類

成員內部類

靜態內部類

局部內部類

匿名內部類

上一篇:重慶java培訓班:關于動態規劃法
下一篇:沒有下一篇了

重慶Java培訓課程大綱之培優班

重慶Java大數據培訓課程大綱

重慶java培訓:面向對象編程

重慶java培訓班:關于動態規劃法

  • 關注微信公眾號

    回復關鍵字:視頻資料

    免費領取 達內課程視頻學習資料

  • 視頻學習QQ群

    添加QQ群:1143617948

    免費領取達內課程視頻學習資料

Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

選擇城市和中心
江西省

貴州省

廣西省

海南省

免费V片无码动漫在线观看网址-男人的天堂无码动漫av