java 方法重写与权限修饰符以及多态和抽象类详解概念和用法

 更新时间:2021年10月25日 10:03:19   作者:yyy言者  
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写,权限修饰符用于控制被修饰变量、方法、类的可见范围,说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高

1.方法重写

子类写和父类一样的方法定义

public void call(){
System.out.println(“输出文字”); //父类的方法
}

public void call(){
System.out.println(“helloworld”);
} //子类的方法

在这里插入图片描述

重写父类方法时,容易写错名字怎么办?
加个@Override 注解
如果报错,说明重写父类方法时,写错了
@Override:

@Override
    public void call(){
        System.out.println("helloworld");
    }

    private  void cally(){

        System.out.println("输出文字");

    }

在这里插入图片描述

private int all; 父类有私有成员,子类是访问不到的

2.多层继承

子类,父类,爷爷类
父类继承了爷爷,子类继承了父类
子类可以使用爷爷的方法

3.权限修饰符:

private
protected
public:
修释成员变量和方法:
什么可以访问?

在这里插入图片描述

在这里插入图片描述

4.被final修饰就不能被重写:

final:最终;

 final int a=10;
        a=30;       //报错 ,不能再次被赋值

在这里插入图片描述

5.static静态的意思:

在这里插入图片描述

staic:特点

在这里插入图片描述

6.多态:

同一个对象,不同时刻不同形态
可以:
如:
Zi() p=new Zi();//
Fu p=new Zi(); // 多态

Fu是Zi的父类
多态对象访问成员变量时:访问的是父类的成员变量
访问成员方法编译看左边,执行看右边;
:父类要有成员变量定义,和子类一样,多态対象才能调用字类的方法

public  class Fu {

    String ass="我是谁";

    public  void call(){                   //必须有这个定义

        System.out.println("我是说这个");

    }

}

public  class Zi extends Fu {

    String ass="我";

    public  void call(){                     //执行

System.out.println("我是说"); 


    }


}

效果图:

在这里插入图片描述

在这里插入图片描述

特点:

在这里插入图片描述

7.抽象类:

abstrast :修释 方法和类
abstrast : 抽象

public abstract class Zi {

    public abstract void call();     //没有方法体
                                       //抽象方法

}

在这里插入图片描述

抽象可以由多态来创建对象

在这里插入图片描述

以上就是java 方法重写与权限修饰符以及多态和抽象类详解概念和用法的详细内容,更多关于java 方法重写的资料请关注脚本之家其它相关文章!

相关文章

  • java后台批量下载文件并压缩成zip下载的方法

    java后台批量下载文件并压缩成zip下载的方法

    这篇文章主要为大家详细介绍了java后台批量下载文件并压缩成zip下载的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • futuretask源码分析(推荐)

    futuretask源码分析(推荐)

    这篇文章主要介绍了futuretask源码分析(推荐),小编觉得还是挺不错的,这里给大家分享下,供各位参考。
    2017-10-10
  • Java解决删除字符使频率相同问题

    Java解决删除字符使频率相同问题

    给你一个下标从0开始的字符串 word ,字符串只包含小写英文字母,你需要选择一个下标并删除下标处的字符,使得word中剩余每个字母出现频率相同,本文给大家介绍了Java解决删除字符使频率相同问题,需要的朋友可以参考下
    2024-02-02
  • 概述Java的struts2框架

    概述Java的struts2框架

    本篇文章主要对struts2框架概念、优缺点进行简要概述。相信会对大家学习Java有所帮助,需要的朋友一起来看下吧
    2016-12-12
  • Java多线程高并发中解决ArrayList与HashSet和HashMap不安全的方案

    Java多线程高并发中解决ArrayList与HashSet和HashMap不安全的方案

    ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList没有同步,HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,关于HashSet有一件事应该牢记,即就条目数和容量之和来讲,迭代是线性的,接下来让我们详细来了解吧
    2021-11-11
  • MyBatis中OGNL的使用教程详解

    MyBatis中OGNL的使用教程详解

    有些人可能不知道MyBatis中使用了OGNL,有些人知道用到了OGNL却不知道在MyBatis中如何使用,下面这篇文章主要介绍了MyBatis中OGNL的使用教程,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • Mybatisplus集成springboot完成分页查询功能(示例代码)

    Mybatisplus集成springboot完成分页查询功能(示例代码)

    今天小编给大家分享Mybatisplus集成springboot完成分页查询功能,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • Java switch多值匹配操作详解

    Java switch多值匹配操作详解

    这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 如何解决Maven依赖无法导入的问题

    如何解决Maven依赖无法导入的问题

    本文介绍了如何通过在setting.xml中配置仓库坐标和在IntelliJ IDEA中进行相关设置来提高Maven下载Jar包的速度,首先在setting.xml中找到mirrors标签进行配置,然后在IntelliJ IDEA的设置中输入特定的命令
    2024-10-10
  • Java volatile关键字原理剖析与实例讲解

    Java volatile关键字原理剖析与实例讲解

    volatile是Java提供的一种轻量级的同步机制,Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,本文将详细为大家总结Java volatile关键字,通过详细的代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07

最新评论