9.25 day 2

news2024/11/26 21:45:48

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.coloradmin.cn/o/1042551.html

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

相关文章

顺风车软件搭建流程:数字化出行与社会共享的创新

随着移动互联网的快速发展&#xff0c;顺风车软件作为一种新型出行方式逐渐流行起来。本文将介绍顺风车软件搭建的流程&#xff0c;包括需求分析、技术架构设计、用户体验优化以及安全性保障。通过深入思考数字化出行与社会共享的关系&#xff0c;为读者呈现一个专业、有逻辑性…

【Synapse数据集】Synapse数据集介绍和预处理,数据集下载网盘链接

【Segment Anything Model】做分割的专栏链接&#xff0c;欢迎来学习。 【博主微信】cvxiaoyixiao 本专栏为公开数据集的介绍和预处理&#xff0c;持续更新中。 文章目录 1️⃣Synapse数据集介绍文件结构源文件样图文件内容 2️⃣Synapse数据集百度网盘下载链接官网下载登录下…

RocketMQ —消费进度管理

Apache RocketMQ 通过消费位点管理消费进度&#xff0c;本文为您介绍 Apache RocketMQ 的消费进度管理机制。 背景信息​ Apache RocketMQ 的生产者和消费者在进行消息收发时&#xff0c;必然会涉及以下场景&#xff0c;消息先生产后订阅或先订阅后生产。这两种场景下&#x…

【springboot3.x 记录】关于spring-cloud-gateway引入openfeign导致的循环依赖问题

最近升级springboot3真是一挖一个坑&#xff0c;又给我发现了 spring-cloud-gateway 引入 openfeign 会导致循环依赖异常&#xff0c;特此记录一下这个坑 一、发现问题 网关里面有一个全局的过滤器&#xff0c;因为要查询一些配置信息&#xff0c;目前是通过 feign client 的方…

中秋《乡村振兴战略下传统村落文化旅游设计》许少辉八月新书——2023学生思乡季辉少许

中秋《乡村振兴战略下传统村落文化旅游设计》许少辉八月新书——2023学生思乡季辉少许 中秋《乡村振兴战略下传统村落文化旅游设计》许少辉八月新书——2023学生思乡季辉少许

【C++ • STL】探究string的源码

文章目录 一、深浅拷贝二、传统版写法的string类&#xff08;简单&#xff09;三、string类的模拟实现四、现代版写法的string类五、总结 ヾ(๑╹◡╹)&#xff89;" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)&#xff89;" 一、深浅拷贝 浅拷贝&#xff1a;也称位…

数据结构与算法之HashBitMap

一&#xff1a;引入 1.Hash扩容算法在多线程情况有什么问题&#xff1f; 2.如何在3亿个整数&#xff08;0~2亿&#xff09;中判断某一个数是否存在&#xff1f;内存限制500M&#xff0c;一台机器。 分治&#xff1a; 布隆过滤器&#xff1a;神器 Redis Hash: 开3亿个空间&#…

[Go 夜读 第 148 期] Excelize 构建 WebAssembly 版本跨语言支持实践

Excelize 是 Go 语言编写的用于操作电子表格文档的基础库&#xff0c;支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式&#xff0c;高度兼容带有样式、图片 (表)、透视表、切片器等复杂组件的文档&#xff0c;并提供流式读写支持&#xff0c;用于处理包含大规模数据的工…

【项目管理】--敏捷开发管理之Scrum

目录 一、前言二、what---敏捷开发是什么2.1、敏捷开发宣言2.2、敏捷开发原则2.3、一句话概述敏捷开发三、why---为什么会有敏捷开发3.1、传统开发模式和敏捷开发模式对比四、how---敏捷开发怎么实践到项目团队4.1、what---Scrum是什么4.2、what---Scrum有哪些内容(1)、Scrum之…

【C语言练习】DOS黑框框通讯录(使用结构体、动态内存管理联系人信息,函数指针等)

文章目录 1. contacts.h 头文件、函数/常量/结构体声明2. test.c 主界面菜单打印、菜单功能选项选择3. contacts.c 函数实现4. 使用结构体、动态内存&#xff0c;函数指针实现时的注意点5. 运行演示 1. contacts.h 头文件、函数/常量/结构体声明 #pragma once#include <std…

浏览器原生JavaScript离线文字转语音TTS播放,支持Windows自带TTS语音和移动端(安卓、IOS)

前言 JS已经可以实现语音合成(文字转语音)和语音识别(语音转文字),各个浏览器支持列表如下所示: 语音识别支持列表: 因此,浏览器上面使用语音合成非常简单。 页面效果示例: 实现功能 1、支持速度,音调设置 2、支持下拉选择语音模板 3、文字转语音 代码实现 …

自学视觉SLAM(1)

引言 小编研究生的研究方向是视觉SLAM&#xff0c;目前在自学&#xff0c;已经学了Linux系统的基本操作&#xff0c;vim编辑器以及高翔老师的一些视屏。本篇文章为初学笔记。 文章目录 引言1 熟悉 Linux1.1 如何在 Ubuntu 中安装软件&#xff08;命令⾏界⾯&#xff09;&#x…

算法竞赛备赛之动态规划训练提升,DP基础掌握

1.背包问题 1.1.01背包问题 01背包问题是在M件物品中选择若干件放在空间为W的背包中&#xff0c;每件物品的体积为W1&#xff0c;W2至Wn&#xff0c;价值为P1&#xff0c;P2至Pn&#xff0c;01背包的约束条件是给定几种物品&#xff0c;每种物品有且只有一个&#xff0c;并且…

(4) OpenCV图像处理kNN近邻算法-识别数字0和1

我们的目标是构建一个可以读取手写数字的应用程序。为此,我们需要创建一个手写数字的图片文件 “ digits.png ”,图像的像素为:( 320*40 ), 其中包含 32个手写数字(每个数字16个),每个数字都是20x20的图像,如下图。 因此,我们的第 1 步是将图像分割成 32 个不…

华为OD机试 - 第k个排列 - 全排列递归(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

C语言刷题篇(备赛中......)--------( 篇章1 )

前言: 博主报名了一个小比赛&#xff0c;用来写一些基础的C语言题目&#xff0c;正好借此巩固一下基础 希望这些题对你们也有帮助 猫猫跟你说:该学习了 目录 前言: 题目&#xff08; 1 &#xff09; 解题思路 题目&#xff08; 2 &#xff09; 解题思路 题目&#xff…

Linux虚拟机磁盘空间不足怎么办

我是一个目录 1. 在虚拟机客户端扩充磁盘空间2. 检查磁盘空间3. 扩展空间而无需重启虚拟机4. 创建新磁盘分区5. 创建物理卷6. 扩展逻辑卷 对大多数系统管理员来说&#xff0c;扩充 Linux 服务器的磁盘空间是日常的工作之一&#xff0c;下面会通过使用 Linux 命令&#xff0c;在…

Text-to-SQL小白入门(七)PanGu-Coder2论文——RRTF

论文概述 学习这个RRTF之前&#xff0c;可以先学习一下RLHF。 顺带一提&#xff1a;eosphoros-ai组织「DB-GPT开发者」最新有个新项目Awesome-Text2SQL&#xff1a;GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2…

ps 去除图标背景色

百度安全验证 https://baijiahao.baidu.com/s?id1766678909759797922&wfrspider&forpc 使用魔术橡皮擦工具&#xff0c;超级简单 最后&#xff0c;保存为PNG格式&#xff0c;因为PNG格式支持透明背景。

大二毕设.3-网盘系统-文件模块讲解

目录 模块功能介绍 抽象文件存储引擎顶级接口 高性能单文件上传-sendfile零拷贝 为什么要分片上传 文件存储引擎模块讲解 文件模块具体实现讲解 项目演示博客 模块功能介绍 文件列表查询 聚簇索引和非聚簇索引回表查询最左前缀原则覆盖索引创建文件夹文件重命名文件删除 …