六道华为Java笔试经典题

六道华为Java笔试经典题


1、在java中如果声明一个类为final,表示什么意思?


答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。


2、父类的构造方法是否可以被子类覆盖(重写)?


答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。


3、请讲述String 和StringBuffer的区别。


答:String 类所定义的对象是用于存放“长度固定”的字符串。


StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。


4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?


答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。


5、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。


答: Sleeping睡眠的意思 : sleep() 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。


waiting等待的意思: 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。


6、谈谈你对抽象类和接口的理解。


答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。


接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。


你可能感兴趣的:(java开发)