• 技术文章 >Java >java教程

    JAVA面向对象之继承、构造方法、重写和重载(总结分享)

    长期闲置长期闲置2022-04-12 18:48:24转载92
    本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于面向对象的相关问题,包括了有参构造、无参构造、类的继承、方法的重写和重载等等内容,下面一起来看一下,希望对大家有帮助。

    推荐学习:《java教程

    构造方法

    类的构造方法是特殊的方法,此方法名称必须和类名一致,构造不能有返回值 不使用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面向对象之继承、构造方法、重写和重载(总结分享)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:JAVA
    上一篇:完全掌握JAVA流程控制 下一篇:完全掌握Java单例模式
    Web大前端开发直播班

    相关文章推荐

    • javascript的集合类型有哪些• JavaScript怎么实现求开平方• javascript中什么是对象的属性• Javascript怎么获得某一天是星期几• JavaScript有命名函数吗
    新人一分购

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网