亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【面試】Java基礎的那些事-Two

標簽:
Java 面試

前言

面试中对于技术职位,一般分笔试与面谈,如果面试官的一些小问题你可以立马找到对应的知识点扩展开来,那么这就是你的优势,本系列将讲述一些java面试中的事,不会很详细,但是应该比较全面吧。

主要内容

  • package的作用?

多层命名空间,解决命名冲突,提高可维护性、提高开发效率等

  • 面向对象与面向过程的区别?

出发点不同、层次逻辑关系不同、数据处理方式与控制程序方式不同、分析设计与编码转换方式不同

  • 面向对象特征

抽象(过程抽象、数据抽象)、继承、封装、多态

  • 面向对象开发优点

较高开发效率(继承或组合)、保证软件的鲁棒性、保证软件的高可维护性

  • 关于继承?

子类继承仅能继承一个父类与其中非私有(public和protected)的成员变量与方法,存在同名时则进行覆盖

  • 组合与继承的区别

组合是显式的、继承是隐式的。组合中的整体类和继承中的子类对应,组合中的局部类和继承中的父类对应,Cat是Vehicle的一种,是继承关系(is-a)、Car中包含多个Tire,则是一种组合关系(has-a)。

不要轻易使用继承,当父类被修改时,会影响到所有继承自它的子类,从而增加程序的维护难度与成本。采用接口与组合的方式比采用继承的方式具有更好的可扩展性,能使用组合就尽量不要使用继承。

  • 多态的实现机制是什么?

方法的重载(overload)-编译时多态、方法的覆盖(override)-运行时多态

  • 重载和覆盖有什么区别?

很多方面吧,覆盖是子类与父类(垂直关系)(参数列表相同),重载是同一个类(水平关系)(参数列表不同)

  • 抽象类与接口的异同

前者为实体、后者是概念;接口设计理念(has-a)、抽象类设计理念(is-a);接口是一种特殊形式的抽象类,抽象类多用于同类事务中有无法具体描述的方法的场景、接口多用于不同类之间

  • 内部类?

静态内部类、成员内部类、局部内部类、匿名内部类

  • 获取父类的类名

Java提供了获取类名的方法:getClass().getName()

class A{}
public class Test extends A {
    public void test(){
        System.out.println(super.getClass().getName());
    }
    public static void main(String[] args){
        new Test().test();
    }
}

以上输出为Test,因为Java中任何类都继承Object类,getClass()方法在Object中被定义为final与native,子类不能覆盖该方法。我们需要使用反射机制,使用getClass().getSuperclass().getName()。

  • break、continue以及return

break(直接跳出当前循环,即终止内层循环,不影响外层循环)、continue(跳过循环体中的一部分语句,中断一次循环)、return(使程序控制返回到调用该方法的地方)

  • final、finally和finalize

final(引用不可变)、finally(在需要释放资源的情况下)、finalize(Object的方法,垃圾回收器准备好释放对象占用的空间,先调用finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存)

點擊查看更多內容
3人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
6129
獲贊與收藏
1990

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消