首页 > 其他分享 >24-06-13

24-06-13

时间:2024-06-13 22:57:20浏览次数:17  
标签:24 lang 13 06 重写 方法 java 抽象类 异常

是否可以继承String?

String类是final类,不能被继承.

继承String本身就是一个错误行为,对String类型最好的重写方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系

重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分?

方法的重载和重写都是实现多态的方式,区别在于重载在于编译时的多态性,而重写实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同,参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法和父类重写的方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常。重载对返回值类型没有特殊的要求

方法重载的规则:

  • 方法名一致,参数列表中的顺序,类型,个数不同
  • 重载与方法的返回值无关,存在父类和子类,同类中
  • 可以抛出不同的异常,可以有不同的修饰符

方法重写的规则:

  • 参数列表必须和被重写方法一致,返回类型必须完全和被重写方法的返回类型一致
  • 构造方法不能被重写,声明为final的方法不能被重写,声明为static方法不能被重写,,但能够被再次声明
  • 访问权限不能比被重写方法的访问权限低
  • 重写方法能抛出非强制异常,无论被重写的方法是否抛出异常,但是重写的方法不能抛出强制性异常,或者不能抛出比被重写方法更广泛的强制性异常。

char 型变量中能不能存储一个中文汉字,为什么?

char可以存储一个中文汉字,因为Java中的编码采用Unicode(不选择如何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法)。一个char占二个字节(16比特),所以存储一个中文没有问题

抽象类(abstract class)和接口(interface)有什么异同?

抽象类:

  1. 抽象类可以定义构造函数
  2. 可以有抽象方法和具体方法
  3. 抽象类中的成员可以是private,默认,protected或public
  4. 抽象类中可以定义成员变量
  5. 有抽象方法的类一定是抽象类,抽象类中不一定有抽象方法
  6. 抽象方法中可以包含静态方法
  7. 一个类只能继承一个抽象

接口:

  1. 接口中不能定义构造函数
  2. 方法全部是抽象方法
  3. 接口中的成员全部是public
  4. 接口中定义的成员变量实际上都是常量
  5. 接口中不能有静态方法
  6. 一个类可以实现多个接口

相同:

  1. 不能实例化
  2. 可以将抽象类和接口类作为引用类型
  3. 一个类如果继承某个抽象类或者实现某个接口都需要对其中的全部抽象方法进行实现,否则该类也被声明为抽象类

==和 equals 的区别?

equals与==最大的区别在于一个是方法一个是运算符

  • == 如果比较的对象的基本数据类型,则比较的是数值是否相等,如果比较的是引用类型,则比较的是对象的地址值是否相等

  • equals()用来比较两个对象的内容是否相等

注意:equals()不能比较基本数据类型,如果没有对equals进行重写,则比较的是引用类型的变量所对象的地址

break 和 continue 的区别?

break和continue都是控制循环的语句

  • break用于完全结束一个循环,跳出循环体,执行循环体后面的代码
  • continue用于结束本次循环,执行下一次循环

Java 中实现多态的机制是什么

靠的是父类或接口定义的引用变量可以指向子类或者具体实现类的实例对象,而程序调用的方法在运行期才能动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法

error 和 exception 的区别?

Error和Exception类的父类都是Throwable类
区别:

  • Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等,对这类错误导致是应用程序中断,仅靠程序本身无法恢复和预防,遇到这种错误,建议让程序终止
  • Exception类表示程序可以处理的异常类,可以捕获且可能恢复。遇到这种异常,应该尽可能处理异常,使程序恢复运行,而不是随意终止
  • Exception类又分成运行时异常(Runtime Exception)和受检查的异常(Checked Exception),运行时异常,编译能通过,但一运行就终止,程序不会处理运行h时异常,出现这类异常,程序会终止,而受检查的异常,要么使用try...catch捕获,要不就是throws字句声明抛出。交给它的父类处理,否则编译不会通过

java 异常处理机制

Java对异常进行分类,不同类型的异常分别用不同的Java类表示,所有的异常的根类为java.lang.ThrowAble.Throwable下面派生出两个子类:Error和Exception。Error表示应用程序本身无法克服和恢复的一种严重的问题。Exceptionbioassay程序能克服和恢复的问题,其中又分成系统异常和普通异常,系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周导致的问题,软件使用者无法克服和恢复的问题,但还可以让软件系统继续运行或让软件死掉;普通异常是运行环境或者异常所导致的问题,用户可以克服的,发生这样的异常后,程序不应该死掉

Java为系统异常和普通异常提供不同的解决方案,编译器强制普通异常必须try...catch处理或者throws声明继续抛给上层调用方法处理,所以普通异常也称checked异常,而系统异常可以处理也可以不处理,所以,编译器不强制用try...catch或throws,称为unchecked异常

请写出你最常见的 5 个RuntimeException

  1. java.lang.NullPointerException:空指针异常。原因:调用了未经初始化的对象或者不存在的对象

  2. java.lang.ClassNotFoundException:指定的类找不到。原因:类的名称和路径加载错误,通常是程序试图通过字符串来加载某个类时可能引发异常

  3. java.lang.NumberFormatException:字符串转换成数字异常。原因:字符型数据中包含非法的数字型字符

  4. java.lang.IndexOutOfBoundsException:数组角标越界异常。常用于操作数组时发生

  5. java.lang.IllegalArgumentException:方法传递参数错误

  6. SQLException:SQL异常,常用于操作数据库时的SQL语句异常

  7. java.lang.NoClassDefFounfException:为找到类定义错误

  8. java.langInstantiationException:实例化异常

  9. java.lang.NoSuchMethodException:方法不存在异常

标签:24,lang,13,06,重写,方法,java,抽象类,异常
From: https://www.cnblogs.com/data101/p/18246909

相关文章

  • 6.13-栈与队列
    基础知识首先大家要知道栈和队列是STL(C++标准库)里面的两个数据结构。C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。那么来介绍一下,三个最为普遍的STL版本:HPSTL其他版本的C++STL,一般是以HPSTL为蓝本实现出来的,HPSTL是C++S......
  • Day18 | 513. 找树左下角的值 | 112.路径总和、113.路径总和ii
    513.找树左下角的值本题递归偏难,反而迭代简单属于模板题,两种方法掌握一下题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.找树左下角的值.html思考层序遍历秒了#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left......
  • 6.13模拟赛题解
    前面是题解,后面是垃圾话。T1P1541[NOIP2010提高组]乌龟棋没脑子直接设\(f_{p,i,j,k,w}\),为走到\(p\),还剩\(1,2,3,4\)牌各\(i,j,k,w\)张,\(9\cdot10^8\),发现到一个点只要三种牌的数量确定,最后一种也确定了,所以直接设\(f_{p,i,j,k}\)表示三种牌的就行,大力DP即可。T......
  • C138 线段树分治 P2056 [ZJOI2007] 捉迷藏
    视频链接:C138线段树分治P2056[ZJOI2007]捉迷藏_哔哩哔哩_bilibili   P2056[ZJOI2007]捉迷藏-洛谷|计算机科学教育新生态(luogu.com.cn)//线段树分治O(nlognlogn)#include<iostream>#include<cstring>#include<algorithm>#include<vector>#inclu......
  • 口译6-13
        Today,morethan30yearslater,itgraduallydawnsonmethatpeoplelikeme,whowereborninthe1960sinChina,areprobablytheluckiestpeopleinhumanhistory,becausenogenerationislikeus,whohavebeenabletowitnesssuchtremendo......
  • 记2024年年中的自我思考
    记2024年年中的自我思考前言这么多年都还没养成写下博客的习惯,总是对自己思考的太多而沉淀的太少是,可能这就是我目前最大的缺陷吧。转眼已经2024年6月份了,在这里还是在这里记录下我对毕业后的年岁至2024年中旬对自己的思考与总结;也算是开始写下第一篇通篇博客吧工作毕业4年了......
  • 6.13API接口服务类漏洞探针
    ip地址解析:www.x.x.x.com,对应网站目录为d:/wwwroot/xiaodi/而127.x.x.x,对应网站目录为d:/wwwroot/,可能存在网站备份文件zip,所以ip网址端口都的扫描;协议端弱口令爆破:超级弱口令检查工具;端口服务安全问题(用于无思路时)思路:利用探针对端口探测后,对口令安全、Web漏洞、中间......
  • 2024.6.10漏洞探针
    探针(扫描器)1、nmap漏洞库,根目录下scripts中调用2、Goby(红队版)直接输入ip扫描资产,漏洞库较少;3、Nessus本地安装:下载安装普通版;注册获取验证码;注册用户nessus,nessus123漏洞利用1、工具框架metasploit和searchsploit忍者系统可以一键使用msf;2、单点exp(漏洞库)cnvd、s......
  • 06_第六章 会话_过滤器_监听器
    第六章会话_过滤器_监听器一会话1.1会话管理概述1.1.1为什么需要会话管理HTTP是无状态协议无状态就是不保存状态,即无状态协议(stateless),HTTP协议自身不对请求和响应之间的通信状态进行保存,也就是说,在HTTP协议这个级别,协议对于发送过的请求或者响应都不做持......
  • 2024中国网络安全产品用户调查报告(发布版)
        自2020年始,人类进入了21世纪的第二个十年,全球进入了百年未有之大变局,新十年的开始即被新冠疫情逆转了全球化发展的历程,而至2022年3月俄乌战争又突然爆发,紧接着2023年7月“巴以冲突"皱起,世界快速进入动荡中,不确定性激增,网络对抗愈演愈烈,导致中国网络安全市场和环境......