JAVA基础常见的面试题

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

数组没有length()方法 数组只有length属性,表示的是数组的长度
String有length()方法 返回的是字符串的长度

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

抽象类要被子类继承,接口要被类实现。
抽象类里的方法可以是抽象方法,也可以是普通方法
接口里的方法只能是抽象方法
接口里定义的变量只能是静态的常量
抽象类便于复用,接口便于代码维护
一个类只能继承一个直接的父类,但可以实现多个接口

3、重写和重载的区别?

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

在同类中重载方法
方法名相同
参数列表不同 (参数类型,个数,顺序)
在同类中与返回值、访问修饰符无关。

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

封装 作用提高数据安全性
1.将属性私有化 private
2.编写setter方法,对属性赋值
3.编写getter方法获取值

继承 作用减少相同代码,提高代码复用性
关键字 extends
满足is-a的关系
继承只能是 单根继承
以下不能被继承
父类的构造方法
private 修饰的内容
不同包下的 默认修饰符修饰的内容

多态 作用 可以提高代码的复用性

实现多态的三个要素
①编写具有继承关系的父类和子类
②子类重写父类方法
③使用父类的引用指向子类的对象(实例)

实现多态的两种形式
使用父类作为方法形参实现多态
使用父类作为方法返回值实现多态

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

如果想调用子类特有的方法,需要先判断是否为同一种类型,向下转型。
instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。

5、写出异常的语法(throw和try):
语法
try{
//将可能出现异常的代码都放入try中
}catch(){
//在一段程序中catch可以有多个,来捕获异常类型,当出现了某种异常就会中断 异常代码后面的内容继而执行对应的catch中的内容
//需要注意的是 异常的范围需要从小到大写 范围小的异常放在上面,范围大的异常放在下面
}finally{
//在程序中一定会被执行的内容,除非是遇到了exit()方法
当程序中有return的时候,是会先执行finally中的内容,然后执行return。

}

throws Exception: 声明异常
方法名后声明, 将异常交给调用者去处理了,如果调用者不处理依然会出现异常,除非是使用 try catch

throw new Exception();抛出异常

自定义异常
声明一个类继承RuntimeException
重写有参无惨够造方法,最后调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值