- 博客(149)
- 收藏
- 关注
原创 Java中的多态究竟是什么
当我们调用animal1.makeSound()时,由于animal1引用的实际类型是Dog,因此调用的是Dog类中重写的makeSound()方法,输出"Dog is barking"。同样地,当我们调用animal2.makeSound()时,由于animal2引用的实际类型是Cat,因此调用的是Cat类中重写的makeSound()方法,输出"Cat is meowing"。让我们通过一个例子来解释多态性的概念。当我们通过父类类型的引用来引用子类对象时,我们可以根据引用的类型来调用相应的方法。
2023-05-18 13:26:51 111
原创 Java向上转型与向下转型
在向下转型的时候,把p1转型为Student会成功,因为p1确实指向Student实例,把p2转型为Student会失败,因为p2的实际类型是Person,不能把父类变为子类,因为子类功能比父类多,多的功能无法凭空变出来。Person类型的变量,如果指向Student类型的实例,对它进行操作,是没有问题的!现在问题来了:如果Student是从Person继承下来的,那么,一个引用类型为Person的变量,能否指向Student类型的实例?和向上转型相反,如果把一个父类类型强制转型为子类类型,就是。
2023-05-18 12:16:30 703
原创 Java中构造方法调用规则及父类构造方法的必要性
总结起来,Java中任何类的构造方法的第一行语句必须是调用父类的构造方法,以确保父类对象的初始化工作得以完成。如果父类没有无参构造方法,就必须显式调用父类的带参数构造方法,并提供相应的参数。为了调用父类的构造方法,Java规定在子类的构造方法中的第一行语句必须是显式调用父类的构造方法。在子类的构造方法中,我们通常需要首先调用父类的构造方法,以确保父类的初始化工作得以完成。如果父类没有无参构造方法,而只有带参数的构造方法,那么在子类的构造方法中就必须显式地调用父类的带参数构造方法,并提供相应的参数。
2023-05-18 10:36:03 634
原创 Java参数绑定(包括按值传递和按引用传递)
在上面的示例中,modifyArray方法接受一个整数数组的形式参数array,并将数组的第一个元素修改为10。由于实际参数numbers和形式参数array引用同一个数组对象,因此对形式参数的修改会反映在实际参数中。在上面的示例中,modifyValue方法接受一个基本数据类型的形式参数value,并将其修改为20。在方法调用中,参数绑定决定了方法的形式参数(在方法声明中定义的参数)和实际参数(传递给方法的参数)之间的关系。总结来说,Java中的参数绑定是根据参数的类型决定的。
2023-05-17 21:28:59 764
原创 第12节课 图
文章目录图的定义和基本术语图的存储邻接矩阵邻接表图的遍历深度优先遍历广度优先遍历遍历应用举例图的定义和基本术语图的存储邻接矩阵建表小技巧:如果是int数组:int类型范围:-2147483648~2147483647memset(a,127,sizeof(a)),全部初始化为int的较大值,即2139062143(int 最大值为2147483647);memset(a,0,sizeof(a)),全部初始化为0;memset(a,-1,sizeof(a)),全部初始化为-1;memse
2022-04-05 20:13:54 574
原创 11堆优先队列
文章目录什么是大根堆、小根堆?问题提出STL堆例题什么是大根堆、小根堆?首先堆应该是一颗完全二叉树,大根堆就是二叉树的所有父节点的值都比左右孩子的值大,小根相反。下面是大根堆和小根堆的图:如上,左图是一个大根堆,右图是一个小根堆。问题提出假如有14个数,分别是99、5、36、7、22、17、46、12、2、19、25、28、1、92,请找出这14个树中最小的数字。无脑方法:遍历一遍,时间复杂度是O(N)。但是问题来了:现在我们需要删除其中最小的数字,并增加一个新的数字23,再次求着14个数字中
2022-04-05 08:34:25 188
原创 2021年蓝桥杯A组C++——B直线
#include<bits/stdc++.h>using namespace std;typedef struct node { //结点 int x, y; node(int xx = 0, int yy = 0) { //构造方法 x = xx; y = yy; }}NODE;NODE a[500];struct paraa { //参数 int q, w, e; paraa(int qq, int ww, int ee){ //构造方法 q =
2022-04-05 08:31:49 1090
原创 怎样文件输入输出
在与cpp同一文件夹下新建记事本文件 getmax.in 作为输入文件,getmax.out 作为输出文件(注意后缀不能是.txt,而得是.in .out)在改后缀的时候,系统会弹出提示,点击“是”就好了:PS:有的时候改了后缀名还不行的原因是:系统会隐藏.txt的后缀,然后它把你的.in .out当成了文件名的一部分而不是后缀名了,所以实际上改了之后仍然是txt文件,所以改的时候要先把隐藏的后缀.txt显示出来,然后删掉并加上.in .out文件输入:freopen("getmax.in", "
2022-04-04 11:50:12 536
原创 信奥1326取余运算(快速幂/蒙哥马利幂的递归、循环写法,附视频)
1326:【例7.5】 取余运算(mod)时间限制: 1000 ms 内存限制: 65536 KB【题目描述】输入b,p,k的值,求bpmodk的值。其中b,p,k×k为长整型数。【输入】输入b,p,k的值。【输出】求bpmodk的值。【输入样例】2 10 9【输出样例】2^10 mod 9=7这是一道快速幂的板子题。这里给出快速幂的循环写法和递归写法:循环写法#include<bits/stdc++.h>using namespace std;t
2022-03-01 13:45:21 273
原创 考研词汇笔记(3)
2022.2.13conquerorpitbuzzversatileswampimpatientinpatientinstallmentlaymanresidetorchamendmendchapchipscrapscrapediscretefatigueobsoletechapladwickedbutcherdispositiontemperamentcharacterfosteranticipateexcludeexclusivegear
2022-02-13 11:45:23 887
原创 89搜索算法bfs
文章目录BFS基础知识BFS经典问题走迷宫炸弹人游戏BFS基础知识这篇博客介绍的很详细。BFS经典问题走迷宫输入地图n、列数m、起点(sx,xy)、终点(ex,ey)输入n行m列地图,0代表可以走,1代表有障碍物不能走输出从起点到终点的最短步数#include<bits/stdc++.h>using namespace std;struct node { //将出、入队的结构体定义为node int x; int y; int step; //走过的步数 n
2022-02-13 10:59:25 2836
原创 信奥1215:迷宫(详解标记数组的还原)
文章目录最初的写法(超时了)超时写法原因总结正确写法1215:迷宫时间限制: 1000 ms 内存限制: 65536 KB【题目描述】一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通
2022-02-08 23:40:59 2208 3
原创 考研词汇笔记(2)
2022.2.7infamousbaffleprophesymoleculetissueorchardcounselgropesabotageincessantconfidanttugtubconsensusdelicateinquire=调查,enquire=询问vowvowelfaintensueembedembodypersecuteprosecuteintacttemperatelegacybleakbleedtreasontenacio
2022-02-07 13:26:49 660
原创 6、7搜索算法dfs
文章目录DFS算法思想--不撞南墙不回头DFS经典问题不带重复数字的全排列带重复数字的全排列走迷宫方格取数dfs做法dp做法素数环问题数独n皇后dfs模板总结DFS算法思想–不撞南墙不回头DFS经典问题不带重复数字的全排列输入n,再输入n个不重复数字,输出这n个数字的所有全排列组合。#include<bits/stdc++.h>using namespace std;int n; //输入数字的个数 int num[1010]; //存放输入的数字int a[1010];
2022-02-03 23:18:10 2693 3
原创 4指针与队列
文章目录指针例一例二线性队列队列手动实现stl队列循环队列定义代码实现真题优先队列指针例一输出:102030200说明:例二输出:65 A线性队列队列手动实现stl队列循环队列定义代码实现#include <stdio.h>#include <malloc.h>#define MAXSIZE 100 //最大队列长度#define OK 1#define ERROR 0typedef int ElemType;typedef int
2022-02-02 17:51:21 1112
原创 3递归进阶
文章目录辗转相除法循环写法递归写法实现二进制表示汉诺塔问题求数组的和求数组的最大值排序(基于选择排序)P2562 [AHOI2002]Kitty猫基因编码作业-P1028 [NOIP2001 普及组递归写法记忆化搜索写法总结辗转相除法循环写法#include<bits/stdc++.h>using namespace std;int m, n, r;int main(){ cin >> m >> n; do { r = m % n; m =
2022-02-02 14:10:44 1288
原创 2递归与回溯
文章目录递归的定义和本质递归分析示例一示例二递归模板递归的定义和本质递归分析示例一红线为递归,蓝线为回溯。输出结果:43210示例二红线为递归,蓝线为回溯。输出结果:4321001234递归模板...
2022-02-02 11:20:53 395
原创 考研词汇笔记(1)
2022.1.30exquisiteutensileagleegoepochinferiorveteranhaymischieftuberculosisdepositionascribeattributehaulspecificationexcessbushboothstallembassycompactretortimpromptuassumptionprovokeinsultwreckwreckageelaboratefrailagitate
2022-01-30 23:31:33 614
原创 【第三章】听力
Test 2scold 责骂infant 婴儿,幼儿sound (+)明智的baby-sitter 保姆Test 3exaggeration 夸大rhetoric 花言巧语,修辞rhythms 节奏,韵律Test 4mileage 里程operator 接线员conscientious 认真的,一丝不苟的placement 安置,实习课Test 5placement service 就业介绍,招聘处hint 暗示,提示,示意National savings bank off
2022-01-30 23:30:14 247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人