广告
返回顶部
首页 > 资讯 > 后端开发 > 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://www.lsjlt.com/news/196154.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

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

  • 微信公众号

  • 商务合作