java基础面试知识点

1、方法重载与方法重写的区别是什么?两者的作用又是什么?

 

方法重载:同一个类中,方法名相同,参数不同,方法体不同;

方法重写:不同的类中,方法体不同,参数相同,方法名也相同.

(两同两不同)

方法重载的作用: 在有多个同名参数的类中,在调用时通过不同的参数来调用不同的方法.

方法重写的作用: 在继承中,子类可用方法重写,对父类进行扩充或改造.

 

2、什么是名称遮蔽?什么是虚方法调用如何绕过名称遮蔽和虚方法调用?

 

    名称遮蔽: 子类中若对父类进行方法重写,出现与父类同名的属性,则会将父类中与其同名的属性遮蔽掉.

    需方法调用:  在多态的情况下,父类中声明的变量,只能调用父类的方法,子类中若对父类的方法进行过方法重写,且此变量调用的是子类重写后的方法,这就是需方法调用.

    在子类中,如果要调用父类的构造方法,必须使用super(参数);调用,若要调用父类的普通方法则用super.方法名;调用.且子类中对super的调用必须是子类构造方法所做的第一件事.这样便可以绕过名称遮蔽和需方法调用.

 

3、接口与抽象类的区别是什么?接口中的成员有何特点?java有多重继承么?

 

接口:  特殊的抽象类.只包含常量和方法的定义,无变量和方法的实现;

抽象类:  用abstract来修饰.抽象类无方法体;不一定有抽象方法,但有抽象方法的一定是抽象类;只能通过子类的实例,以父类的身份出现;非抽象类的子类继承时,必须重写其所有的抽象方法.

区别: 一个具象类只能继承一个抽象类,但能继承多个接口.

接口中的成员都是static & final类型的.

Java中没有多重继承,但可以通过接口,来实现多重继承机制

 

4、static关键字的意义是什么?

 

static--类成员中共有的属性.

1,修饰的成员为类成员,不需要实例化,就可以用类名.成员名;调用;

2, static的成员,不管产生多少实例,都指向同一个内存空间;

3,在static的上下文中,不可以直接调用非static成员;

4, static语句块中的成员,只会在第一次初始化中运行一次,一般是对static的成员进行初始化的.

 

 

5、final关键字的意义是什么?修饰变量、对象、方法和类时有何不同?

 

意义:  最终的,不可改变的.

1,修饰变量,为常量,值不可变;

2,修饰对象,值可变,引用不变;

3,修饰方法,方法不可重写.

4,修饰类,无子类,不可以被继承,更不可能被重写.

 

6、java的异常处理机制是什么?哪些异常必须捕获?获取异常信息的常用方法

 

异常处理机制:  ⑴自定义异常类;⑵声明抛出异常的方法;⑶异常的监控与处理.

在正确设计和实现的程序中出现的异常,即非人为(程序员),而因环境原因引起的异常,必须捕获.

常用方法: ⑴ print(e); //打印出异常名,异常消息;

⑵ e.getMessage(); //只显示异常消息;

⑶ e.printStackTrace(); //显示异常名,异常消息,异常抛出的路径 …….

 

7、两大集合类的区别是什么?Iterator的作用是什么?

 

Set:  没有先后顺序,无重复值.   List:有先后顺序,有重复值.

Iterator的作用:  对collection中的对象进行遍历.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值