亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中抽象類(lèi)與方法的重寫(xiě)方式

 更新時(shí)間:2023年02月15日 09:40:43   作者:MC亂碼  
這篇文章主要介紹了Java中抽象類(lèi)與方法的重寫(xiě)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1. 抽象類(lèi)

  • 關(guān)鍵字:abstract

類(lèi):用來(lái)描述一類(lèi)具體的事物

抽象類(lèi):抽象的、模糊的、不具體的類(lèi)

  • 在Java的普通類(lèi)中是不允許多繼承的,原因是會(huì)出現(xiàn)調(diào)用
  • 不明確的問(wèn)題;

總結(jié):父類(lèi)中的功能是不能刪除的,但其形式是不需要的(沒(méi)有存在的意義),此時(shí)就可以將父類(lèi)中功能的 具體實(shí)現(xiàn) 形式 給刪掉;

類(lèi)的具體實(shí)現(xiàn):創(chuàng)建對(duì)象

抽象方法存在的意義是什么?

  • 用于定義功能,明確該類(lèi)具備此功能-----規(guī)則

特點(diǎn):

  • 1.抽象類(lèi)可以有抽象方法,也可以有非抽象的方法
  • 2.抽象類(lèi)中可以有構(gòu)造器,但是不能創(chuàng)建對(duì)象,空間需要由子類(lèi)對(duì)象來(lái)開(kāi)辟

2. 方法的重寫(xiě)

方法重載:在同一個(gè)類(lèi)中,方法名相同,參數(shù)列表不同(參數(shù)位置、參數(shù)個(gè)數(shù)、參數(shù)類(lèi)型),與返回值無(wú)關(guān)

方法重寫(xiě):在繼承或?qū)崿F(xiàn)的關(guān)系下,方法名相同,參數(shù)列表相同,返回值類(lèi)型相同,子類(lèi)的修飾權(quán)限要大于或等于父類(lèi)中的修飾符權(quán)限

1. 什么情況下需要重寫(xiě)父類(lèi)中的類(lèi)型呢?

1.1 子類(lèi)有自己的特殊實(shí)現(xiàn)形式時(shí),此時(shí)就可以重寫(xiě)父類(lèi)中的功能

  • 如果沒(méi)有特殊實(shí)現(xiàn)就不需要重寫(xiě)(此時(shí)重寫(xiě)不是必須的)

2.1 所有的子類(lèi)都有自己的特殊實(shí)現(xiàn)形式時(shí),父類(lèi)中的功能也就沒(méi)

  • 必要有具體的實(shí)現(xiàn),就會(huì)變成抽象,那此時(shí),其所有的子類(lèi)都
  • 必須重寫(xiě)父類(lèi)中全部的抽象方法

2. @Override 稱(chēng)為注解

此處的含義是重寫(xiě),如果方法上加上了該注解,就代表該方法是從父類(lèi)中重寫(xiě)過(guò)來(lái)的(如果此時(shí)刪除了父類(lèi)中的該方法,子類(lèi)就會(huì)報(bào)錯(cuò))

// 調(diào)用
public class Demo {
?? ?public static void main(String[] args) {
?? ??? ?
?? ?}
}
package day0202;
// 爺爺類(lèi)(抽象類(lèi))
public abstract class Old {
?? ?private String type;
?? ?private String name;
?? ?private String color;
?? ?private int age;
?? ?
?? ?public abstract void eat();
?? ?public abstract void sleep();
?? ?public abstract void weight();
?? ?
?? ?
?? ?public void ear() {
?? ??? ?System.out.println("圓圓的");
?? ?}
?? ?public void tail() {
?? ??? ?System.out.println("尾部是卷的");
?? ?}
?? ?
?? ?
?? ?public String getType() {
?? ??? ?return type;
?? ?}
?? ?public void setType(String type) {
?? ??? ?this.type = type;
?? ?}
?? ?public String getName() {
?? ??? ?return name;
?? ?}
?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}
?? ?public String getColor() {
?? ??? ?return color;
?? ?}
?? ?public void setColor(String color) {
?? ??? ?this.color = color;
?? ?}
?? ?public int getAge() {
?? ??? ?return age;
?? ?}
?? ?public void setAge(int age) {
?? ??? ?this.age = age;
?? ?}
?? ?
}
package ****;
// 父類(lèi)繼承爺爺類(lèi)
?? ?public class Parent1 extends Old {
?? ??? ?
?? ??? ?private String eyes;
?? ??? ?
?? ??? ?
?? ??? ?@Override
?? ??? ?public void eat() {
?? ??? ??? ?super.ear();
?? ??? ??? ?super.tail();
?? ??? ??? ?System.out.println("吃肉,通過(guò)哺乳其他動(dòng)物");
?? ??? ?}
?? ??? ?
?? ??? ?@Override
?? ??? ?public void sleep() {
?? ??? ??? ?System.out.println("困了就睡覺(jué)");
?? ??? ?}
?? ??? ?
?? ??? ?@Override
?? ??? ?public void weight() {
?? ??? ??? ?System.out.println("比較大");
?? ??? ?}
?? ?}

當(dāng)在繼承關(guān)系中,子父類(lèi)中有相同的方法或變量時(shí),程序的編譯執(zhí)行有什么區(qū)別

  • 非靜態(tài)的方法:執(zhí)行的時(shí)候走的是子類(lèi)中覆蓋后的方法
  • 非靜態(tài)的變量:執(zhí)行的時(shí)候走的是子類(lèi)中的變量

靜態(tài)的方法:執(zhí)行的是調(diào)用者中的方法

靜態(tài)的屬性:執(zhí)行的是調(diào)用者中的方法

抽象方法不能與哪些關(guān)鍵字共存?

  • private:private修飾的方法只能在本類(lèi)中使用,而抽象方法要求必須讓子類(lèi)實(shí)現(xiàn),兩者相互矛盾
  • final:final修飾的方法不能被重寫(xiě),而抽象方法必須要被重寫(xiě),
  • static:static修飾的方法可以通過(guò)類(lèi)名直接調(diào)用,而抽象方法是沒(méi)有方法體的

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java多線程中斷機(jī)制三種方法及示例

    Java多線程中斷機(jī)制三種方法及示例

    這篇文章主要介紹了Java多線程中斷機(jī)制三種方法及示例,向大家分享了這三種方法的介紹幾代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java的JDBC中Statement與CallableStatement對(duì)象實(shí)例

    Java的JDBC中Statement與CallableStatement對(duì)象實(shí)例

    這篇文章主要介紹了Java的JDBC中Statement與CallableStatement對(duì)象實(shí)例,JDBC是Java編程中用于操作數(shù)據(jù)庫(kù)的API,需要的朋友可以參考下
    2015-12-12
  • SpringBoot壓縮json并寫(xiě)入Redis的示例代碼

    SpringBoot壓縮json并寫(xiě)入Redis的示例代碼

    由于業(yè)務(wù)需要,存入redis中的緩存數(shù)據(jù)過(guò)大,占用了10+G的內(nèi)存,內(nèi)存作為重要資源,需要優(yōu)化一下大對(duì)象緩存,所以我們需要對(duì)json進(jìn)行壓縮,本文給大家介紹了SpringBoot如何壓縮Json并寫(xiě)入redis,需要的朋友可以參考下
    2024-08-08
  • 用C和JAVA分別創(chuàng)建鏈表的實(shí)例

    用C和JAVA分別創(chuàng)建鏈表的實(shí)例

    使用用C和JAVA分別創(chuàng)建鏈表的方法,創(chuàng)建鏈表、往鏈表中插入數(shù)據(jù)、刪除數(shù)據(jù)等操作。
    2013-10-10
  • 徹底搞懂Java多線程(一)

    徹底搞懂Java多線程(一)

    這篇文章主要給大家介紹了關(guān)于Java面試題之多線程和高并發(fā)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Java純代碼實(shí)現(xiàn)導(dǎo)出pdf合并單元格

    Java純代碼實(shí)現(xiàn)導(dǎo)出pdf合并單元格

    這篇文章主要為大家詳細(xì)介紹了Java如何純代碼實(shí)現(xiàn)導(dǎo)出pdf與合并單元格功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • 基于resty orm的ActiveRecord操作數(shù)據(jù)指南

    基于resty orm的ActiveRecord操作數(shù)據(jù)指南

    這篇文章主要為大家介紹了基于resty orm的ActiveRecord操作數(shù)據(jù)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Java中如何獲取圖片文件格式(后綴)

    Java中如何獲取圖片文件格式(后綴)

    這篇文章主要介紹了Java中如何獲取圖片文件格式(后綴),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Spring事務(wù)失效的8大原因詳解

    Spring事務(wù)失效的8大原因詳解

    這篇文章主要介紹了Spring事務(wù)失效的8大原因詳解,這里以 MySQL 為例,其 MyISAM 引擎是不支持事務(wù)操作的,InnoDB 才是支持事務(wù)的引擎,一般要支持事務(wù)都會(huì)使用 InnoDB,需要的朋友可以參考下
    2023-09-09
  • 你什么是Elastic Stack(ELK)

    你什么是Elastic Stack(ELK)

    這篇文章主要介紹了你什么是Elastic Stack(ELK),ELK是三款軟件的簡(jiǎn)稱(chēng),分別是Elasticsearch、Logstash、Kibana組成,需要的朋友可以參考下
    2023-04-04

最新評(píng)論