美文网首页
基础面试题--面向对象面试题

基础面试题--面向对象面试题

作者: 路卡利欧Mega | 来源:发表于2018-01-22 17:40 被阅读38次
    1)面向对象的优点?

    答案:易扩展,易维护,另外还有面向对象的三大特征(封装、继承、多态)

    另见:https://zhidao.baidu.com/question/570193796.html

    2)如何声明一个静态块?有什么好处

    答案:在类中方法外声明 static关键字+代码块,对于一些必须要初始化的代码,必须写在静态块中,如果写在构造器中,有多个构造器时不一定执行初始化。

    3)接口与抽象类的区别?

    答案:①一个类只能继承一个抽象类,但可以实现多个接口。②抽象类中的方法可以有实例方法也可以有抽象方法,接口里面只能有抽象方法。

    4)用于类和接口的关键字?

    答案:①定义类的是class,如:public class 类名{};②定义接口的interface,如:public interface 接口名{}。③用于实现接口的是implements.

    5)如何创建数组?要注意哪些事项?

    答案:①数组是一个对象,可以new创建:String[] array = new String[10];②数组也可以直接声明:String[] array = {"1","2"};③要注意数组是否下标越界异常和是否对数组进行初始化等。

    6)如何创建一个构造方法?要注意哪些细节?

    答案:构造器是为了创建一个类的实例A a1 = new A();
    注意:方法名与类名一致,没有返回值。

    7)类的组成和执行顺序?

    答案:
    组成:属性,方法,静态块,非静态块。
    执行顺序:先父类,后子类,静态块,静态字段,非静态块,非静态字段,构造器,方法。

    8)main方法必须被什么修饰?

    答案:main方法必须被public static void修饰,传入String数组。

    9)如何理解面向对象?

    答案:时间万物皆对象,对象有具体的实例化,任何方法或属性都要写在对象(类)里面。

    10)构造方法能否被重写?

    答案:构造方法不能被继承,因此不能被重写,但可以被重载。

    11)String,StringBuffer和StringBuilder的区别?

    答案:String是不可变的,可以直接使用它的方法用来创建字符串。
    而StringBuffer,StringBuilder无论怎么修改都是一个对象。
    如果在字符串改变或迭代改变情况下StringBuffer比String快。
    StringBuilder比StringBuffer更加快捷,但是StringBuilder线程不安全。

    12)重载和重写的区别?

    答案:
    ①重载发生在同一个类中,不同的方法里面。重写发生在父子类中,签名完全相同的方法里。
    ②重载参数签名不同,而重写相同且返回类型相同。
    ③重写是父子类间多态性的一种表现,而重载是一个类中多态性的表现。

    13)(= =)与equals()的区别?

    答案:
    如果是基本类型比较,那么只能用==来比较,不能用 equals
    对象间的比较使用equals ==比较的是对象中的地址 而equals比较的对象的内容(更准确的说法是根据子类覆写的equals来比较)

    14)JRE,JDK,JVM分别是什么?有什么联系?

    答案:JRE是运行时环境,JDK是JAVA开发工具包,JVM是虚拟机。JVM是JRE是一部分。

    15)什么是装箱和拆箱?

    答案:
    装箱就是将基本类型转换为对象类型
    拆箱就是将对象类型转换为基本类型

    16)继承最大好处?

    答案:可以对父类方法进行重用,节省空间。

    17)写出String类常见的5个方法,并详细解释?

    答案:
    indexOf()返回指定字符串在该字符串出现的序列
    startsWith()判断该字符串是否以指定字符开始
    concat() 将指定字符串连接在该字符串的结尾
    length()返回字符串的长度
    subString返回该字符串从索引开始 结束于字符串末尾 或者指定索引的一个子字符串

    18)JAVA语言最大特点?

    答案:跨平台性(一次编译,多次执行,一般Window下开发,Linux下部署)

    19)请说说byte,short,char之间可以互相转换吗?为什么?

    答案:范围小的可以直接转换为范围大的,大的转小的可以通过强转,子类可以转父类。反之则不行,有可能抛类型转换异常。

    20)请说说引用和对象?

    答案:
    对象和引用是分不开的,对象生成一个地址,放在堆里面,
    引用则指向了这个地址,放在栈里面
    User user=new User();
    user为引用 等号右边的是对象

    21)怎样将一个String添加到另一个String的后面?

    答案:
    如果是遍历追加,用(StringBuffer ,StringBuilder)的append方法
    否则用String的concat方法,或者+号

    22)有几种数据类型?

    答案:JAVA数据类型分基本数据类型和引用对象类型。

    23)传参有几种类型?有几种特殊类型?

    答案:基本数据类型 引用对象类型

    24)什么是匿名类,有什么好处

    答案: 匿名类没有名字的类 ,封装性好,比较安全,用了一次便可以丢弃

    25) jar是什么格式的文件,有什么好处

    答案:它将许多class文件组合成一个压缩文件,方便管理class文件

    26)java和javac,javaw各有什么作用

    答案:
    java:运行程序
    javac:编译java文件至class文件
    javaw: 不需要打开dos窗口就可以运行

    相关文章

      网友评论

          本文标题:基础面试题--面向对象面试题

          本文链接:https://www.haomeiwen.com/subject/fvtraxtx.html