返回顶部
首页 > 资讯 > 后端开发 > Python >Java中抽象类与方法的重写方式
  • 914
分享到

Java中抽象类与方法的重写方式

Java抽象类Java方法重写抽象类与方法重写 2023-02-15 12:02:33 914人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 抽象类2. 方法的重写1. 什么情况下需要重写父类中的类型呢?2. @Override 称为注解总结1. 抽象类 关键字:abstract 类:用来描述一类具体的事物 抽象

1. 抽象类

  • 关键字:abstract

类:用来描述一类具体的事物

抽象类:抽象的、模糊的、不具体的类

  • 在Java的普通类中是不允许多继承的,原因是会出现调用
  • 不明确的问题;

总结:父类中的功能是不能删除的,但其形式是不需要的(没有存在的意义),此时就可以将父类中功能的 具体实现 形式 给删掉;

类的具体实现:创建对象

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

  • 用于定义功能,明确该类具备此功能-----规则

特点:

  • 1.抽象类可以有抽象方法,也可以有非抽象的方法
  • 2.抽象类中可以有构造器,但是不能创建对象,空间需要由子类对象来开辟

2. 方法的重写

方法重载:在同一个类中,方法名相同,参数列表不同(参数位置、参数个数、参数类型),与返回值无关

方法重写:在继承或实现的关系下,方法名相同,参数列表相同,返回值类型相同,子类的修饰权限要大于或等于父类中的修饰符权限

1. 什么情况下需要重写父类中的类型呢?

1.1 子类有自己的特殊实现形式时,此时就可以重写父类中的功能

  • 如果没有特殊实现就不需要重写(此时重写不是必须的)

2.1 所有的子类都有自己的特殊实现形式时,父类中的功能也就没

  • 必要有具体的实现,就会变成抽象,那此时,其所有的子类都
  • 必须重写父类中全部的抽象方法

2. @Override 称为注解

此处的含义是重写,如果方法上加上了该注解,就代表该方法是从父类中重写过来的(如果此时删除了父类中的该方法,子类就会报错)

// 调用
public class Demo {
    public static void main(String[] args) {
        
    }
}
package day0202;
// 爷爷类(抽象类)
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 ****;
// 父类继承爷爷类
    public class Parent1 extends Old {
        
        private String eyes;
        
        
        @Override
        public void eat() {
            super.ear();
            super.tail();
            System.out.println("吃肉,通过哺乳其他动物");
        }
        
        @Override
        public void sleep() {
            System.out.println("困了就睡觉");
        }
        
        @Override
        public void weight() {
            System.out.println("比较大");
        }
    }

当在继承关系中,子父类中有相同的方法或变量时,程序的编译执行有什么区别

  • 非静态的方法:执行的时候走的是子类中覆盖后的方法
  • 非静态的变量:执行的时候走的是子类中的变量

静态的方法:执行的是调用者中的方法

静态的属性:执行的是调用者中的方法

抽象方法不能与哪些关键字共存?

  • private:private修饰的方法只能在本类中使用,而抽象方法要求必须让子类实现,两者相互矛盾
  • final:final修饰的方法不能被重写,而抽象方法必须要被重写,
  • static:static修饰的方法可以通过类名直接调用,而抽象方法是没有方法体的

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Java中抽象类与方法的重写方式

本文链接: https://lsjlt.com/news/196154.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java中抽象类与方法的重写方式
    目录1. 抽象类2. 方法的重写1. 什么情况下需要重写父类中的类型呢?2. @Override 称为注解总结1. 抽象类 关键字:abstract 类:用来描述一类具体的事物 抽象...
    99+
    2023-02-15
    Java抽象类 Java方法重写 抽象类与方法重写
  • 函数重写与抽象方法:理解子类实现父类抽象方法的必要性
    函数重写允许子类重新定义父类方法,而抽象方法强制子类实现父类的未实现方法。子类实现父类抽象方法至关重要,因为它:提高代码的灵活性和可扩展性;减少代码冗余并促进重用;增强可测试性,允许轻松...
    99+
    2024-05-03
    抽象方法 函数重写 python
  • java:抽象类与模板方法模式详解
    目录一、抽象类概念二、抽象方法的特点三、抽象类的特点四、创建抽象类与抽象方法抽象类: 抽象方法: 五、抽象类与抽象方法的使用六、模板方法模式1. 定义2. 意图3. 模式结构4. 示...
    99+
    2024-04-02
  • 知道java抽象类与抽象方法是什么吗?
    java抽象类与抽象方法是什么?在类的继承中,如果一个个新的子类被定义,子类变得越来越具体,父类变得更加一般和通用,类的设计应该保证父子类能够共享特征,有时将父类设计得非常抽象,使得父类没有具体的实例,这样的类叫做抽象类;一般当我们设计一个...
    99+
    2016-03-20
    java教程 java 抽象类 抽象方法
  • JAVA抽象类和抽象方法怎么使用
    在Java中,抽象类是用来定义一组相关类的共同特征和行为的。抽象类不能被实例化,只能被继承。要定义一个抽象类,需要在类的声明前加上关...
    99+
    2023-08-17
    JAVA
  • java中抽象类、抽象方法、接口与实现接口实例详解
    前言对于java中的抽象类,抽象方法,接口,实现接口等具体的概念就不在这里详细的说明了,网上书本都有很多解释,主要是我懒,下面通过一个例子来说明其中的精髓要点,能不能练成绝世武功,踏上封王之路,就看自己的的啦(不要误会,我指的只是我自己啦啦...
    99+
    2023-05-30
    java 抽象类 接口
  • Java中多态和抽象类的实现方式
    这篇文章主要讲解了“Java中多态和抽象类的实现方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中多态和抽象类的实现方式”吧!  多态  1.要实现多态,那么必须存在父子关系(继承...
    99+
    2023-06-02
  • JAVA抽象类和抽象方法(abstract)实例分析
    抽象类和抽象方法是Java中用于实现抽象化的概念。抽象类是一个不能被实例化的类,它可以包含抽象方法和非抽象方法。抽象方法是一个没有具...
    99+
    2023-08-16
    Java
  • java中抽象工厂模式与工厂方法模式的区别
    一、简单工厂模式特点:它是一个具体的类,非接口 抽象类。有一个重要的create()方法,利用if或者 switch创建产品并返回。create()方法通常是静态的,所以也称之为静态工厂。缺点:扩展性差(我想增加一种面条,除了新增一个面条产...
    99+
    2015-05-09
    java入门 java 抽象工厂模式 工厂方法模式 区别
  • java中类方法与对象方法的区别
    类方法和对象方法的区别如下:对象方法必须用对象调用,类方法必须用类来调用对象方法中可以直接访问属性(成员变量),类方法中不可以直接访问属性(成员变量)类方法和对象方法可以进行相互调用1对象方法中可以直接调用类方法2类方法中间接调用对象方法 ...
    99+
    2021-04-22
    java入门 java 类方法 对象方法 区别
  • java 方法重写与权限修饰符以及多态和抽象类详解概念和用法
    1.方法重写 子类写和父类一样的方法定义 public void call(){ System.out.println(“输出文字”); //父类的方法 } public void...
    99+
    2024-04-02
  • 什么是php抽象类和抽象方法
    这篇文章主要介绍“什么是php抽象类和抽象方法”,在日常操作中,相信很多人在什么是php抽象类和抽象方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是php抽象类和抽象方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • java创建抽象类的方法是什么
    在Java中创建抽象类的方法是使用关键字 abstract 来声明一个类为抽象类。抽象类不能被实例化,只能被继承,子类必须实现抽象类...
    99+
    2024-03-07
    java
  • java抽象类的使用方法是什么
    在Java中,抽象类是一种不能被实例化的类,通常用于定义一些抽象方法和非抽象方法,用来作为其他类的模板或基类。抽象类使用方法如下: ...
    99+
    2024-03-13
    java
  • Java中方法重写与重载的区别
    目录一、重写(Override)二、重载(Overload)三、总结Java方法重写(Override)与重载(Overload)的区别(超详细) 首页在我们要学习这个知识点之前,应...
    99+
    2024-04-02
  • Java中的抽象类
    目录 一、抽象类是什么?1.引入库2.读入数据 二、抽象类的特点注意 : 三、总结 一、抽象类是什么? 父类知道子类一定要完成某个功能,但是每个子类完成...
    99+
    2023-09-11
    java 开发语言
  • python抽象类的使用方法
    这篇文章主要介绍了python抽象类的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、问题描述主要使用场景是这样的比如京东上买东西,买完东西后需要支付,京东可以使用...
    99+
    2023-06-08
  • Python抽象基类的定义与使用方法
    目录1、定义抽象基类的子类2、标准库中的抽象基类3、定义抽象基类4、再看白鹅类型前言: 我们写Python基本不需要自己创建抽象基类,而是通过鸭子类型来解决大部分问题。《流畅的Pyt...
    99+
    2024-04-02
  • PHP中的静态方法与抽象方法详解
    PHP作为一种常用的服务器端脚本语言,有许多高级特性可供开发者灵活运用。其中,静态方法和抽象方法在面向对象编程中起着重要的作用。本文将深入探讨PHP中静态方法和抽象方法的概念、用法和实...
    99+
    2024-03-05
    php 静态方法 抽象方法
  • C#接口、抽象类、抽象方法和虚方法的区别是什么
    C#接口、抽象类、抽象方法和虚方法的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#抽象类和接口孩子间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作