返回顶部
首页 > 资讯 > 后端开发 > Python >Java面向对象之继承、构造方法、重写、重载
  • 211
分享到

Java面向对象之继承、构造方法、重写、重载

Java面向对象Java继承Java构造方法Java重写Java重载 2023-03-24 17:03:40 211人浏览 安东尼

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

摘要

目录构造方法无参构造有参构造注意类的继承方法重写、重载重写重载构造方法 类的构造方法是特殊的方法,此方法名称必须和类名一致,构造不能有返回值 不使用void,不能直接调用,在类对象实

构造方法

类的构造方法是特殊的方法,此方法名称必须和类名一致,构造不能有返回值 不使用void,不能直接调用,在类对象实例化时自动调用,new 的时候可以调用。一般构造方法用于类对象实例化时的初始化。如果一个类没有编写构造方法,系统自动给此类编译时添加一个无参构造方法。如果声明类编写了构造方法,系统不再添加无参构造方法,建议编写完构造方法时,最好编写一个无参构造方法。

无参构造

说白了就是没有参数的构造方法
概念看不懂举个例子就清晰了。
声明一个类A

public class A {
    
}

在类A中创建一个构造方法A(),并且打印出一句话
构造方法必须和类名一样

public class A {
    public A(){
        System.out.println("构造方法A()");
    }
}

新建一个测试类,并在类中nuw一个A类的对象

public class Test {
    public static void main(String[] args) {
        A a = new A();
    }
}

执行main方法试试看

在这里插入图片描述

构造方法相当于在new对象是自动使用的方法

有参构造

有参构造就是有参数的构造方法
在类A中声明一个有参数的构造方法,传入两个String类型的参数,a和b

public class A {
    public A() {
    }

    public A(String a, String b) {
        System.out.println(a + b);
    }
}

在测试类中new一个对象a时传入参数

public class Test {
    public static void main(String[] args) {
        A a = new A("aaa", "bbb");
    }
}

执行main方法

在这里插入图片描述

注意

没有构造方法的时候,类中隐藏了一个无参构造。但是创建一个有参构造,隐藏的无参构造就会消失。那么以后new对象就只能带参数了。所以在建有参构造时一定要创建一个无参构造方法放那。

类的继承

java语言中,类class 是单继承,多实现接口。接口interface 是多继承的。

在这里插入图片描述

为什么要继承呢?因为子类想要在父类的基础上添加新功能。
子类继承父类可以继承父类中的方法和属性
下面举例分析:
父类是人,子类是老司机。
人的特征有:两只手,两只眼,两只脚,会吃会喝
老司机继承了人类的特征,并且多出了自己会开车这个功能。

代码如下:

这是一个人 类,具有以下属性和功能。

public class Ren {
    public final String shou = "两只手";
    public final String jiao = "两只脚";
    public final String yan = "两只眼";

    public void chi() {
        System.out.println("会吃");
    }

    public void he() {
        System.out.println("会喝");
    }

}

这是老司机类,继承了人类。并且多了个会开车的功能

public class Siji extends Ren {
    public void kai() {
        System.out.println("会开车");
    }
}

测试:创建老司机对象输出属性并调用方法。

public class Test {
    public static void main(String[] args) {
        Siji b = new Siji();
        System.out.println(b.jiao);
        System.out.println(b.shou);
        System.out.println(b.yan);
        b.chi();
        b.he();
        b.kai();
    }
}

在这里插入图片描述

方法重写、重载

重写 覆盖:方法名,返回类型,形参都一样。有此种情况的,必须为继承关系。
重载:方法名一样,返回类型,形参个数,类型不样的方法,不一定必须是继承关系,同一个类中都可以,比如 构造方法重载

重写

因为子类不满意父类的方法所以想把它改一下,这就是子类重写父类的方法。
比如人会吃会喝,但是老司机不喜欢它会吃这个功能,想把它改一下,改成会吃屎。

代码如下:

老司机重写人类的chi()方法
方法名一定要一样

public class Siji extends Ren {
    public void kai() {
        System.out.println("会开车");
    }

    public void chi() {
        System.out.println("会吃屎");
    }
}

现在重写运行测试类

在这里插入图片描述

重载

有参构造和无参构造就是方法重载,一个类中有两个名字一样的方法,但是他们的返回值类型和参数类型,参数个数不一样。
两个方法的返回值类型和参数类型,参数个数,只要有一个不一样。但是他们方法名一样,那么两个方法就重载。

到此这篇关于Java面向对象之继承、构造方法、重写、重载的文章就介绍到这了,更多相关Java面向对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java面向对象之继承、构造方法、重写、重载

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

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

猜你喜欢
  • Java面向对象之继承、构造方法、重写、重载
    目录构造方法无参构造有参构造注意类的继承方法重写、重载重写重载构造方法 类的构造方法是特殊的方法,此方法名称必须和类名一致,构造不能有返回值 不使用void,不能直接调用,在类对象实...
    99+
    2023-03-24
    Java面向对象 Java继承 Java构造方法 Java重写 Java重载
  • Java面向对象之继承、构造方法、重写、重载怎么实现
    这篇“Java面向对象之继承、构造方法、重写、重载怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java面向对象之继...
    99+
    2023-07-05
  • JAVA继承、构造方法、重写和重载方法怎么用
    本文小编为大家详细介绍“JAVA继承、构造方法、重写和重载方法怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“JAVA继承、构造方法、重写和重载方法怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。构造方...
    99+
    2023-06-30
  • JavaSE-面向对象(方法重写)
    目录方法重写Override重写方法重写小结:总结方法重写与之前的方法重载不同 回顾一下方法重载,相同的方法名不同参数类型和参数数量以及参数顺序 package Demo1; i...
    99+
    2024-04-02
  • Java全面分析面向对象之继承
    目录继承什么是继承呢?子类访问父类的成员变量子类访问父类非同名成员变量子类访问父类同名成员变量子类访问父类的成员方法子类访问父类的非同名方法子类访问父类的同名方法super关键字su...
    99+
    2024-04-02
  • C++继承中的对象构造与析构和赋值重载详解
    目录一、构造/析构顺序及继承性二、拷贝构造的继承性三、赋值重载不具有继承性总结一、构造/析构顺序及继承性 class A { private: int _a; public: A...
    99+
    2024-04-02
  • Java面向对象之类的继承介绍
    目录继承的作用如果没有继承机制是怎么样的?使用继承机制后的示例?类的继承是什么?子类和父类的继承机制Java单继承Java继承的顶级父类:Object对象的类型转换对象向上转型对象向...
    99+
    2024-04-02
  • C++继承中的对象构造与析构和赋值重载实例分析
    本文小编为大家详细介绍“C++继承中的对象构造与析构和赋值重载实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++继承中的对象构造与析构和赋值重载实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一...
    99+
    2023-06-29
  • Java面向对象之继承的概念详解
    目录1. 继承1.1 继承的实现1.2 继承的好处和弊端1.3. Java中继承的特点2. 继承中的成员访问特点2.1 继承中变量的访问特点2.2 super2.3 方法重写2.4 ...
    99+
    2023-05-18
    Java 继承 Java 面向对象
  • JAVA面向对象之继承 super入门解析
    目录1 继承1.1概念1.2 特点1.3 练习:继承入门案例2 super3 继承的用法3.1 练习:super之继承中成员变量使用3.2 练习:super之继承中构造方法的使用4 ...
    99+
    2024-04-02
  • PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
    PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用 PHP 面向对象1.构造函数2.析构函数3.继承4....
    99+
    2023-09-02
    php 开发语言 java
  • Java 面向对象之继承篇详解原理与特点
    目录一、前言二、继承什么是继承呢?继承的好处与弊端继承的使用场景?继承的格式:继承的特点:重写的概念:super关键字super和this的比较一、前言 前面我也们讲述了相关封装的,...
    99+
    2024-04-02
  • Java构造方法和方法重载详解
    目录第一 构造方法的作用第二 构造方法的特点方法重载总结类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下...
    99+
    2024-04-02
  • Java面向对象基础知识之封装,继承,多态和抽象
    目录一、封装二、继承三、多态四、抽象总结一、封装 封装:是面向对象方法的重要原则,就是把对象的属性和行为(数据)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,就是把不想告诉或...
    99+
    2024-04-02
  • java构造方法可不可以重写
    在Java中,构造方法(Constructor)与其他方法一样,也可以被重载(Overload),但它不能被重写(Override)...
    99+
    2023-10-26
    java
  • Java构造方法的定义和重载
    本篇内容介绍了“Java构造方法的定义和重载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、构造方法的定义(一)什么构造方法实...
    99+
    2023-06-15
  • Java基础之面向对象机制(多态、继承)底层实现
    目录一、Java的前世二、多态三、Java中多态的底层实现四、重载 五、重写一、Java的前世 为什么会产生Java?Java的特点是什么? 从C语言开始讲,C语言是一种结构化语言,...
    99+
    2024-04-02
  • Java 面向对象 之 封装方法
    转载于 : http://www.verejava.com/id=16992728331734 public class Encapsulation {public static&...
    99+
    2023-06-02
  • Java 封装与继承:面向对象编程的基石,打造优雅代码
    在 Java 中,可以通过访问修饰符(public、protected、default、private)来实现封装。public 修饰符表示该成员在任何地方都可以访问,protected 修饰符表示该成员只能在同一包或子类中访问,defa...
    99+
    2024-04-02
  • java构造方法重载问题怎么解决
    在Java中,构造方法重载问题可以通过为每个构造方法提供不同的参数列表来解决。构造方法重载是指在同一个类中定义多个构造方法,每个构造...
    99+
    2023-09-23
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作