首页 > 编程语言 >2024年4月4号java学习

2024年4月4号java学习

时间:2024-04-04 23:11:22浏览次数:27  
标签:学习 java 继承 子类 多态 2024 重写 方法

继承

减少编写重复的代码,提高代码的复用性,使用extends关键字用来表示继承一个类

如果类和类有相同的特性,并且一个类是另一个类的一种那么就可以使用继承

java中只支持单继承,但有多层继承

所有的类都间接或者直接继承Object类

子类能够继承父类的东西

虚方法表中包含:非私有方法,非final方法,非静态方法

方法的重写

当父类的方法不能满足子类的要求时,我们可以重写父类的方法,来使得满足我们的需求

重写的方法上面需要加上@Override注解

方法重写的本质是覆盖虚方法表中的方法

继承中构造方法的访问特点

父类中的构造方法不会被子类继承

子类中所有的构造方法默认先执行父类中的构造方法,再执行自己的

多态

多态就是对象的多种形态

使用多态的前提

有继承和实现关系

有父引用指向子类对象

有方法的重写

多态的好处:减少编写重复的代码提高可读和复用性

多态调用成员的特点

变量调用:编译和运行都是看左边

方法调用:编译看左边、运行看右边

多态的缺点

不能调用子类特有的方法,因为方法调用时看是左边

想要使用子类的特有方法需要进行强制类型转换,把父类型再转换成它对应的类型

如果不是对应的类型就会报一个异常

转换的时候可以使用instanceof关键字来判断是不是对应的类

包就是文件夹,用来管理java类

包名的书写规则

公司域名反写+包的作用,全部小写,要见名只意

全类名

包名+类名

当使用同一个包中的类或者使用java.lang中的类时不需要导包

其他情况都需要导包

final关键字

final修饰方法:那么方法就不能被重写

final修饰变量:那么就是一个常变量不能被修改,修饰引用数据类型,那么不能改变它的地址值

final修饰类:那么类不能够被继承

 

标签:学习,java,继承,子类,多态,2024,重写,方法
From: https://www.cnblogs.com/lwj1239/p/18114307

相关文章

  • javaWeb项目-家政服务管理系统功能介绍
    项目关键技术开发工具:IDEA、Eclipse编程语言:Java数据库:MySQL5.7+框架:ssm、Springboot前端:Vue、ElementUI关键技术:springboot、SSM、vue、MYSQL、MAVEN数据库工具:Navicat、SQLyog 1、B/S结构简介B/S结构最大的优点它不需要安装任何的系统,它所有的客户端就只是浏......
  • 20240404
    T1洛谷P3436PRO-ProfessorSzu首先缩点。然后从所有没有入度的强连通分量开始dfs,进行dp,数一下每个点到终点有多少路径。要注意的是当且仅当一个点能够到达终点时才能够用来更新其他点的dp值。代码#include<iostream>#defineintlonglongusingnamespacestd;in......
  • 2024.4 做题记录
    299.CF1534ELostArray难崩。题意转化为每次翻转\(m\)个\(01\)序列的元素,要把全\(0\)翻成全\(1\)。不想分讨。考虑直接最短路求最小步数,转移就枚举选多少个原本已经有的数。交互就记录方案就行了。300.P9537[YsOI2023]CF1764B很棒的题。考察终态,可以发现最后输......
  • Elastic学习之旅 (6) Query DSL
    大家好,我是Edison。首先说声抱歉,这个ES学习系列很久没更新了,现在继续吧。上一篇:ES的倒排索引和Analyzer什么是QueryDSLDSL是DomainSpecificLanguage的缩写,指的是为特定问题领域设计的计算机语言。这种语言专注于某特定领域的问题解决,因而比通用编程语言更有效率。在Elastic......
  • Java学习-第一章第二章知识内容总结
    一、第一章的学习中,我了解到了什么Java编程语言,明白了它的发展史以及平台和运行机制,下载并安装成功好了Java的开发环境JDK17以及第一个Java入门程序helloworld的编写,还有就是懂得了如何用IDEA和JShell交互式这两种开发方式来编写简单的程序;二、在第二章的学习中,我对Java的数据......
  • 基于强化学习(Reinforcement Learning)的机器人控制策略
    强化学习(ReinforcementLearning,RL)是机器学习的一个分支,主要研究智能体如何在与环境的交互中通过学习策略以达成回报最大化或实现特定目标的问题。它不是某一种特定的算法,而是一类算法的统称!!! 强化学习的目标是让软件智能体在特定环境中能够采取回报最大化的行为。这通常是通......
  • 为什么要学习大模型应用开发?
    0promptengineer就是prompt工程师它的底层透视。1学习大模型的重要性底层逻辑人工智能大潮已来,不加入就可能被淘汰。就好像现在职场里谁不会用PPT和excel一样,基本上你见不到。你问任何一个人问他会不会用PPT,他都会说会用,只是说好还是不好。你除非说这个岗位跟电脑完全无关......
  • 小美的蛋糕切割(美团2024届秋招笔试第一场编程真题)
    题面核心思想前缀和(不过是以一整行或一整列的维度)(滑动窗口应该也可以)需要注意的是可以横着切也可以竖着切代码importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){finallongMOD=(long)(1e9+7);Scannerscanne......
  • 2024/4/4 分块补题
    2024/4/4分块补题P3203[HNOI2010]弹飞绵羊分块跳跳跳,核心是每次跳出当前块,用\(to[i]\)表示跳到的位置。#include<bits/stdc++.h>usingnamespacestd;#defineldlongdoubletemplate<typenameT>inlineTread(){Tx=0;charch=getchar();boolfl=false;......
  • 2024-04-04
    2024-04-04gcd上午模拟赛T1考场上写了\(O(n^2)\)的暴力,但是有的时候跑不满,\(10^5\)的大数据跑的飞快(100ms)考完没多久就想出来正解了观察到值域\(V\)只有\(100\),考虑把他放到时间复杂度里面枚举最大公约数\(g\)只有一段区间内所有的数都是\(g\)的倍数的时候才......