java面试题

1、数组有没有length()这个方法?String有没有length()这个方法?

数组只有length属性,表示的是数组的长度。而且这个属性可以理解为止一个常量,一旦数组被产生,我们可以得到length的值,但不能改变。

 

返回的是字符串的长度。也不能修改。

 

2、抽象类和接口有什么区别?

相同点

代表系统的抽象层

都能包含抽象方法

用于描述系统提供的服务,不必提供具体实现

不同点:1在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法

抽象类便于复用,接口便于代码维护

2一个类只能继承一个直接的父类,但可以实现多个接口

 

3、重写和重载的区别?

重写:方法名相同参数列表相同,返回值相同或者是其子类,访问修饰符不能严于父类,抛出的异常不能大于父类

重载:是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,和返回值无关。

4、请你写出你理解的Java面向对象的三大特性

(1):继承就是从已有的类继承信息创建新类的过程,被继承的类称为父类,继承的类叫做子类。子类可以全盘接受父类的所有属性和方法(甚至是private修饰的,也可以继承,但是不能在父类之外访问,提供共有的访问方法(比如封装set()get())就可以用)。

(2):封装就是将属性私有化,提高安全性。

封装的步骤:1:将属性私有化 private

private  String sex;

2:编写setter方法,可以针对用户输入的值进行判断

3:编写getter方法,来获取值

(3):多态:同样的一种物质,在不同条件下,所呈现出来的状态是不同的。

语法:父类名 父类引用 = new 子类类名(

5、写出异常的语法(throwtry)

语法
try{
//将可能出现异常的代码都放入try中
}catch(){
//在一段程序中catch可以有多个,来捕获异常类型,当出现了某种异常就会中断 异常代码后面的内容继而执行对应的catch中的内容
//需要注意的是  异常的范围需要从小到大写   范围小的异常放在上面,范围大的异常放在下面
}finally{
//在程序中一定会被执行的内容,除非是遇到了exit()方法
当程序中有return的时候,是会先执行finally中的内容,然后执行return。
}
throws Exception: 声明异常
方法名后声明, 将异常交给调用者去处理了,如果调用者不处理依然会出现异常,除非是使用 try catch
throw new Exception();抛出异常
自定义异常
声明一个类继承RuntimeException
重写有参无惨够造方法,最后调用

posted @ 2020-05-15 14:47  小白315  阅读(121)  评论(0编辑  收藏  举报