面试题

Posted linnew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题相关的知识,希望对你有一定的参考价值。


方法重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法

方法重写
在Java和其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

特性

关于方法重写的一些特性:
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
根据2,3条可以确定第一条,子类重写父类方法的返回值类型不能大于父类方法的返回值类型,即是说子类方法的返回值必须和父类方法的返回值相同或是其子类。

抽象和接口的区别(根据知乎大佬的讨论整理)

1、抽象类和接口都不能直接实例化。如果要实例化,涉及到多态。抽象类要实例化,抽象类定义的变量必须指向一个子类变量,这个子类继承并实现了抽象类所有的抽象方法。接口要实例化,接口定义的变量必须指向一个子类变量,这个子类继承并实现了接口所有的方法。
2、抽象要被子类继承,接口要被子类实现。
3、接口里只能对方法进行声明,抽象类里既可以对方法进行声明,又可以实现。
4、抽象类里面的抽象方法必须被子类实现,如果子类不能全部实现,子类必须也是抽象类。接口里面的方法必须被子类实现,如果子类不能全部实现,子类必须是抽象类。
5、接口里面的方法不能有具体的实现,这说明接口是设计的结果,而抽象类是重构的结果。
6、抽象类里面可以没有抽象方法,如果一个类里面有抽象方法,那么这个类一定是抽象类。
7、抽象类中的抽象方法都要被实现,所以抽象方法不能是静态的static,也不能是私有的private。
8、接口可以继承接口,甚至可以继承多个接口;类可以实现多个接口,只能继承一个类。
9、抽象类主要用来抽象类别,接口主要用来抽象方法功能。关注事物的本质,用抽象类;关注一种操作,用接口。


存储过程

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

sql中的存储过程及相关介绍:
CREATE PROCEDURE [拥有者.]存储过程名[;程序编号]
[(参数#1,…参数#1024)]
[WITH
{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
]
[FOR REPLICATION]
AS 程序行
其中存储过程名不能超过128个字。每个存储过程中最多设定1024个参数
(SQL Server 7.0以上版本),参数的使用方法如下:
@参数名数据类型[VARYING] [=内定值] [OUTPUT]
每个参数名前要有一个“@”符号,每一个存储过程的参数仅为该程序内部使用,参数的类型除了IMAGE外,其他SQL Server所支持的数据类型都可使用。
[内定值]相当于我们在建立数据库时设定一个字段的默认值,这里是为这个参数设定默认值。[OUTPUT]是用来指定该参数是既有输入又有输出值的,也就是在调用了这个存储过程时,如果所指定的参数值是我们需要输入的参数,同时也需要在结果中输出的,则该项必须为OUTPUT,而如果只是做输出参数用,可以用CURSOR,同时在使用该参数时,必须指定VARYING和OUTPUT这两个语句。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于面试题的主要内容,如果未能解决你的问题,请参考以下文章

Linux 面试题

2020年1-6月份Java面试题总结,20多类1100道面试题含答案解析

Android面试题Android高级/资深面试题

JAVA面试题合集 JAVA面试题

前端面试题

面试基础题