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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

java编程思想学习(1):抽象

發(fā)布時(shí)間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java编程思想学习(1):抽象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天開(kāi)始java編程思想的導(dǎo)讀,希望自己能更好的理解程序。全書(shū)1461頁(yè),恐怖,盡量一天看十頁(yè)八。

OOP 面向?qū)ο蟪绦蛟O(shè)計(jì)

記錄一點(diǎn)東西八

第一個(gè)小課程,抽象過(guò)程

看看概念

1萬(wàn)物皆為對(duì)象

2程序是對(duì)象的集合,他們通過(guò)發(fā)送信息告知彼此所要做的

3每個(gè)對(duì)象都有自己的由其他對(duì)象構(gòu)成的存儲(chǔ)

4每個(gè)對(duì)象都擁有此類(lèi)型

5某一特定類(lèi)型的對(duì)象可以接受同樣的消息

話不多說(shuō),我們寫(xiě)一個(gè)簡(jiǎn)單的小例子八,打開(kāi)我的eclipse程序,我們講講抽象類(lèi)八,

可能也是抽象的一個(gè)代表了

一、概述

當(dāng)父類(lèi)知道子類(lèi)應(yīng)該包含什么樣的方法,但無(wú)法確定子類(lèi)如何實(shí)現(xiàn)這些方法;在分析事物時(shí),會(huì)發(fā)現(xiàn)事物的共性,將共性抽取出,實(shí)現(xiàn)的時(shí)候,就會(huì)有這樣的情況:方法功能聲明相同,但方法功能主體不同,這時(shí),將方法聲明抽取出,那么,此方法就是一個(gè)抽象方法。

1、抽象的定義格式

??? 抽象方法的定義格式:public abstract 返回值類(lèi)型 方法名(參數(shù));
??? 抽象類(lèi)的定義格式:abstract class 類(lèi)名{}

2、抽象的特點(diǎn)

??? 抽象類(lèi)和抽象方法都需要被 abstract 修飾,抽象方法一定要定義在抽象類(lèi)中
??? 抽象不能直接創(chuàng)建對(duì)象,因?yàn)檎{(diào)用抽象方法沒(méi)有意義
??? 只有覆蓋了抽象類(lèi)中所有的抽象方法后,其子類(lèi)才可以創(chuàng)建對(duì)象,否則該子類(lèi)還是一個(gè)抽象類(lèi)
??? 之所以繼承抽象類(lèi),更多的是在思想,是面對(duì)共性類(lèi)型操作會(huì)更簡(jiǎn)單

3、抽象類(lèi)的注意事項(xiàng)

??? 抽象類(lèi)一定是個(gè)父類(lèi),因?yàn)槭遣粩喑槿《鴣?lái)的
??? 抽象類(lèi)中可以不定義抽象方法,其存在的意義就是不讓該類(lèi)創(chuàng)建對(duì)象,方法可以直接讓子類(lèi)去使用
??? 抽象關(guān)鍵字 abstract 不可以和以下關(guān)鍵字共存:
??? private:私有的方法子類(lèi)是無(wú)法繼承到的,也不存在覆蓋,如果 abstract 和 private 一起使用修飾方法, abstract 既要子類(lèi)去實(shí)現(xiàn)這個(gè)方法,而 private 修飾子類(lèi)根本無(wú)法得到父類(lèi)這個(gè)方法,互相矛盾
??? final:final 修飾的類(lèi)不能被繼承,而抽象類(lèi)一定是父類(lèi)
??? static:static 修飾的表示靜態(tài)的,不能被修改的,但可以直接被類(lèi)所調(diào)用,而abstract修飾的是抽象的,即沒(méi)有方法實(shí)體,也不能直接被調(diào)用
首先我們定義一個(gè)Animal的抽象類(lèi)

package geyao01;public abstract class Animal {public abstract void run() ;//定義一個(gè)奔跑的方法 }

定義一個(gè)豬類(lèi)繼承這個(gè)方法

package geyao01;public class Pig extends Animal{public void run() {System.out.println("我可以奔跑");} }

定義一個(gè)豬的測(cè)試類(lèi)

package geyao01;public class PigTest {public static void main(String[] args) {//創(chuàng)建一個(gè)小豬的對(duì)象Pig pig=new Pig();//執(zhí)行小豬的方法pig.run();} }

運(yùn)行結(jié)果

我可以奔跑

實(shí)例解析

  • 將共性“動(dòng)物”抽取出來(lái)形成一個(gè)Develop類(lèi)并定義方法:豬
  • 抽象類(lèi)不能實(shí)例化,即不能 new 抽象方法沒(méi)有主體
  • 可以定義類(lèi)來(lái)繼承抽象類(lèi),將抽象類(lèi)進(jìn)行重寫(xiě),然后創(chuàng)建子類(lèi)的對(duì)象
  • 重寫(xiě)父類(lèi)的抽象方法時(shí),去掉abstract關(guān)鍵字,加上方法主體

總結(jié)

以上是生活随笔為你收集整理的java编程思想学习(1):抽象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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