9.25 day 2

1.

简述方法重写与方法重载的意义与区别:

方法重写:

1.参数列表必须完全与被重写方法相同

//参数列表(分为四种):

(1)无参无返回值方法;

(2)有参无返回值方法;

(3)无参有返回值方法;

(4)有参有返回值方法;

2.返回类类型必须完全与被重写方法的返回类型相同

3.方法名相同

访问权限不能比父类被重写发方法的访问权限更低,此为一大

父类的成员方法只能被它的子类重写

声明为final的不能被重写

声明为static的方法不能被重写

子类和父类在同一包中,那么子类可以重写父类的所有方法,除了声明为private和final的方法

子类和父类不在同一个包中,那么子类只能够重写父类声明为public和protected的非final方法

重写的方法能够抛出任何非强制性异常,无论重写

强制性异常:所谓强制性异常就是在编写程序的过程中必需在抛出异常的部分try catch 或者向上throws异常。

在这里插入图片描述

** 非强制性异常**:所谓非强制性异常就和上面相反了

在这里插入图片描述

构造方法不能被重写

如果不能继承一个方法,则不能重写

方法重载:

被重载的方法必须改变参数列表(参数个数或类型或顺序不一样)

被重载的方法可以改变返回类型

可以改变访问修饰符

可以声明新的或更广的检查异常

无法以返回值类型作为重载函数的区分标准

2.

了解一下

hashCode方法本质就是一个哈希函数,这是Object类的作者说明的。Object类的作者在注释的最后一段的括号中写道:将对象的地址值映射为integer类型的哈希值。但hashCode()并不完全可靠的,有时候不同的对象他们生成的hashcode也会一样,因此hashCode()只能说是大部分时候可靠。

通常我们比较两个对象是否相同,我们会重写equals(),因为原版的equal效率比较低下,利用hashcode 生成hash值进行比较,这样通过equal比较的两个hashcode值肯定相同,如果这个hashcode相同了,再对比他们的quals()

equals()相等的两个对象hashCode()一定相等。

hashCode()相等的两个对象equal()不一定相等

3.

public class ZeroTest {public static void main(String[] args) {try{int i = 100 / 0;System.out.print(i);}catch(Exception e){System.out.print(1);throw new RuntimeException();}finally{System.out.print(2);}System.out.print(3);}}

分析:

catch捕捉之后,1

抛出异常之后程序终止,finally执行

throw抛出异常之后程序就不继续往下执行了。

4.

public class Arraytest{int a[] = new int[6];public static void main ( String arg[] ) {System.out.println ( a[0] );}
}

在static方法中不能访问静态变量a,需要将a声明为static

5.

我们还要来补充一个运算符的补充知识点:

1、>>:右移运算符,num >> 1,相当于num除以2。

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。

如:

-1在32位二进制中表示为:

11111111 11111111 11111111 11111111

-1>>1:按位右移,符号位不变,仍旧得到11111111 11111111 11111111 11111111

因此值仍为-1

2、>>>:二进制右移补零操作符,左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充

如value >>> num中,num指定要移位值value 移动的位数。

img

扩展资料

“>>”和“>>>”等移位运算符的运算规则:

1、无符号右移,忽略符号位,空位都以0补齐。

value >>>a,a是要移位值value 移动的位数。

无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位 无符号右移运算符>>> 只是对32位和64位的值有意义。

2、右移位运算符>>,若操作的值为正,则在高位插入0;若值为负,则在高位插入1。

右移补零操作符>>>,无论正负,都在高位插入0。

没有<<<是因为不需要

6.

interface中的方法默认为public abstract 的 ,变量默认为public static final //不能有private出现

7.

Float正确赋值方式:

Float a = new Float(1.0)

Float f = 1.0f 若不加f会被识别成double型,double无法向float吟诗转换

8.

标准输入指键盘输入;标准输出指输出到屏幕上。

记住System,out,println()就不会错

一般用 System,in创建inputStream对象,用Symstem,out创建outputStream对象

9.

方法头指:修饰符+返回类型 +方法名(形参列表)

方法名相同,参数类型相同

子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。

所以说返回类型可以不同的

image-20230926171823728

10.

image-20230926172946253

intValue()是把Integer对象类型变成int的基础数据类型

parseInt()是把String变成int的基础数据类型

ValueOf()是把String转化为Integer对象类型

11.

执行结果是?

class BaseClass {public BaseClass() {}{System.out.println("I’m BaseClass class");}static {System.out.println("static BaseClass");}}public class Base extends BaseClass {public Base() {}{System.out.println("I’m Base class");}static {System.out.println("static Base");}public static void main(String[] args) {new Base();}}

 
public class Father {  static {System.out.println("父类静态代码块");    }
​{System.out.println("父类非静态代码块");    }public Father(){System.out.println("父类构造函数");    }   }
public class Son extends Father{ static {System.out.println("子类静态代码块");    }
​{System.out.println("子类非静态代码块");    } public Son(){System.out.println("子类构造函数");    }public static void main(String[] args) {Son son = new Son();    }
}
​
/*结果为:   父类静态代码块子类静态代码块父类非静态代码块父类构造函数子类非静态代码块子类构造函数 
​
​

父类静态代码块->子态静态代码块->父类非静态代码块->父类构造函数->子类非静态代码块->子类构造函数

12.

输出结果?

public class EqualsMethod
{public static void main(String[] args){Integer n1 = new Integer(47);Integer n2 = new Integer(47);System.out.print(n1 == n2);System.out.print(",");System.out.println(n1 != n2);}
}
​

使用Integer a = 1;或Integer a = Integer.valueOf(1); 在值介于-128至127直接时,作为基本类型。

使用Integer a = new Integer(1); 时,无论值是多少,都作为对象。

13.

public class Test {private static int j = 0;private static Boolean methodB(int k) {j += k;return true;}public static void methodA(int i) {boolean b;b = i < 10 | methodB(4);b = i < 10 || methodB(8);}public static void main(String args[]) {methodA(0);System.out.println(j);}
}

这道题主要考的是"|"与"||"的区别

用法:condition 1 | condition 2、condition 1 || condition 2

"|"是按位或:先判断条件1,不管条件1是否可以决定结果(这里决定结果为true),都会执行条件2

"||"是逻辑或:先判断条件1,如果条件1可以决定结果(这里决定结果为true),那么就不会执行条件2

14.

public static void main(String[] args) {Object o1 = true ? new Integer(1) : new Double(2.0);Object o2;if (true) {o2 = new Integer(1);} else {o2 = new Double(2.0);}System.out.print(o1);System.out.print(" ");         System.out.print(o2);
}
​

三元操作符如果遇到可以转换为数字的类型,会做自动类型提升。

1.0 1

R:

1.程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的信号只是其,每个线程都需要一个独立的程序计数器

2.方法区是各个线程共享的内存区域,它用于存储已经被虚拟机加载的常量、即时编译器编译后的代码、静态变量等数据

3.java虚拟机栈描述的是java方法执行的内存哦行,每个方法被执行的时候都会创建一个栈帧,用于存储 局部变量表、动态链接等信息

4.java堆:对于绝大多数应用来说,这块区域是JVM所管理的内存中最大的一块

5.JDBC:Java Database Connectivity,是标准的javaAPI,是一套客户端程序与数据库交互的规范

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/92647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“智慧时代的引领者:探索人工智能的无限可能性“

目录 一.背景 二.应用 2.1金融领域 2.2医疗领域 2.3教育领域 三.发展 四.总结: 一.背景 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;&#xff0c;是指通过计算机程序模拟人类智能的一种技术。它是计算机科学、工程学、语言学、哲学等多…

【Redis】redis基本数据类型详解(String、List、Hash、Set、ZSet)

目录 RedisString(字符串)List(列表)Hash(字典)Set(集合)ZSet(有序集合) Redis Redis有5种基本的数据结构&#xff0c;分别为&#xff1a;string&#xff08;字符串&#xff09;、list&#xff08;列表&#xff09;、set&#xff08;集合&#xff09;、hash&#xff08;哈希&a…

CUDA、cudNN 、CUDAToolKit三者关系

cudatoolkit和cuda有关系吗 CUDA 是 NVIDIA 推出的一种并行计算平台和编程模型&#xff0c;可以在 NVIDIA GPU 上运行 C/C 代码。 CUDA Toolkit 是 NVIDIA 提供的一套开发工具&#xff0c;它包含了用于开发 CUDA 应用程序所需的各种工具&#xff0c;如编译器、调试器和库。 因…

音频编辑软件Steinberg SpectraLayers Pro mac中文软件介绍

Steinberg SpectraLayers Pro mac是一款专业的音频编辑软件&#xff0c;旨在帮助音频专业人士进行精细的音频编辑和声音处理。它提供了强大的频谱编辑功能&#xff0c;可以对音频文件进行深入的频谱分析和编辑。 Steinberg SpectraLayers Pro mac软件特点 1. 频谱编辑&#xff…

transformers简介

目录 1、前言 2、网络结构 &#xff08;1&#xff09;、Transformers的总体架构可以分为四部分 &#xff08;2&#xff09;、输入文本包含 &#xff08;3&#xff09;、输出部分包含 &#xff08;4&#xff09;、编码器部分 &#xff08;5&#xff09;、解码器部分 1、前…

sci投稿流程(从投稿到录用全流程解析)

论文投稿流程 1.初稿:准备好论文&#xff0c;给编辑的信(cover letter&#xff09; 2.返修: 一.会返回两个东西: 1&#xff09;编辑的决定 (小修minior review&#xff0c;大修major review&#xff0c;拒稿reject等等)。只要不是审稿人质疑创新性问题和数据造假问题&…

Mybatis配置文件(mybatis-config.xml)和Mapper映射文件(XXXMapper.xml)模板

配置文件 ${dirver} ---> com.mysql.jdbc.Driver ${url} ---> jdbc:mysql://localhost:3306/数据库名 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""h…

SpringBoot 如何解决跨域问题

Spring Boot 中的跨域请求&#xff08;Cross-Origin Request&#xff09;问题与解决方案 跨域请求是指浏览器从一个域名的网页去请求另一个域名的资源&#xff0c;它是为了增强 Web 安全性而产生的限制。Spring Boot 应用程序通常会面临跨域请求的问题&#xff0c;本文将介绍跨…

c++ 关键字和标识符

在本教程中&#xff0c;我们将学习关键字&#xff08;C 编程中的保留关键字&#xff0c;它们是语法的一部分&#xff09;。另外&#xff0c;我们还将学习标识符以及如何命名它们。 C 关键字 关键字是预定义的单词&#xff0c;对编译器具有特殊的含义。例如&#xff0c; 示例…

AWS SAA知识点整理(作成中)

共通 一些信息已经更新了&#xff0c;但参考题的答案还是旧的。 比如&#xff1a; S3的最大读写性能已经提高到 3,500 PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second 并且不再要求使用random prefix 题目中有时候会让选择Not violation 不合适的一项&#xff…

2022年6月和7月的工作经历

6月 3D打标软件 3D打标软件&#xff0c;要求在Open3d上加几个2D文字。大致有如下几个方案&#xff1a; 依葫芦画瓢&#xff0c;但O3DVisualizer派生于gui::Window&#xff0c;我的程序派生于Visualizer。工作量不小。 利用OpenGL输出文字&#xff0c;Baidu的两种方法一个编…

AI编程助手 Amazon CodeWhisperer 全面解析与实践

目录 引言Amazon CodeWhisperer简介智能编程助手智能代码建议代码自动补全 提升代码质量代码质量提升安全性检测 支持多平台多语言 用户体验和系统兼容性用户体验文档和学习资源个性化体验系统兼容性 功能全面性和代码质量功能全面性代码生成质量和代码安全性 CodeWhisperer的代…

在pycharm中弹出图后,需要关闭才会显示Process finished with exit code 0

在pycharm中弹出图后&#xff0c;需要关闭才会显示Process finished with exit code 0 在PyCharm中&#xff0c;当你运行一个Python程序并弹出一个图形窗口时&#xff0c;程序会等到图形窗口关闭后才会显示 “Process finished with exit code 0” 的消息。 这是 由于代码执行…

毛玻璃员工卡片悬停效果

效果展示 页面结构组成 通过效果展示图&#xff0c;我们可以看出页面布局比较常规&#xff0c;最核心的就是卡片&#xff0c;当鼠标没有悬停在卡片上时&#xff0c;文字和头像处于半透明状态&#xff0c;当鼠标悬停在卡片上是&#xff0c;底部会展示社交图标。 CSS 知识点 b…

AI大模型安装

1、https://blog.csdn.net/m0_63748493/article/details/131914092 环境安装 2、https://www.jianshu.com/p/728b4b7c3efd 3、安装显卡驱动 下载 https://blog.csdn.net/zataji/article/details/123104569 用bash 下载启动文档位置run 报错提示 https://blog.csdn.net/sunming…

1.物联网射频识别,RFID概念、组成、中间件、标准,全球物品编码——EPC码

1.RFID概念 RFID是Radio Frequency Identification的缩写&#xff0c;又称无线射频识别&#xff0c;是一种通信技术&#xff0c;可通过无线电讯号识别特定目标并读写相关数据&#xff0c;而无需与被识别物体建立机械或光学接触。 RFID&#xff08;Radio Frequency Identificati…

Qt扩展-QCustomPlot 简介及配置

QCustomPlot 简介及配置 一、概述二、安装教程三、帮助文档的集成 一、概述 QCustomPlot是一个用于绘图和数据可视化的Qt 控件。它没有进一步的依赖关系&#xff0c;并且有良好的文档记录。这个绘图库专注于制作好看的、发布质量的2D绘图、图形和图表&#xff0c;以及为实时可…

python dicttoxml模块简介

dicttoxml模块简介 官方文档 安装 pip install dicttoxml基本用法 # 方法一 导入库 import dicttoxml xml dicttoxml.dicttoxml(some_dict) # 方法二 导入dicttoxml()函数 form dicttoxml import dicttoxml xml dicttoxml(some_dict)dicttoxml 属性介绍 root False 创…

Leetcode39组合总和

代码&#xff1a; class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {List<List<Integer>> res new ArrayList<>();List<Integer> curRes new ArrayList<>();Arrays.sort(candidates);…