Java 基础面试题(一)day 1

    科技2024-01-17  93

    JAVA基础面试题


    面向对象的特征有哪些方面?

    抽象性:把具有相同属性或者方法的对象进行抽象,抽象包括两个方面,一是过程抽象,二是数据抽象。封装性:封装是把过程和数据包装起来,用户知道并使用被封装的属性和方法就行,不用知道今天是如何实现的;继承(is a)性:对象的一个新类可以从现有的类中派生,这个过程称为类继承。派生类(子类)可以从它的基类(父类)那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。java中只有单继承;(一个儿子只有一个父亲,一个父亲可以有多个儿子;)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态是同一个行为具有多个不同表现形式或形态的能力。 多态存在的三个必要条件: 继承重写父类引用指向子类对象

    作用域public,private,protected,以及不写时的区别?

    作用域当前类同包子孙类其他public√√√√protected√√√×default√√××private√×××

    不写时默认为default。

    表中的 √ 和 × 表示作用范围;

    String是最基本的数据类型吗?

    不是:因为String是引用数据类型;Java语言中数据类型划分为两大类,分别是基本数据类型和引用数据类型。 基本数据类型又分为: 整数型:字节型(byte)、短整型(short)、整形(int)(默认)、 长整型(long);浮点数型:单精度型(float)、双精度型(double)(默认);字符型(char)(0~65535);逻辑型(boolean)默认——>false; 引用数据类型又分为: 接口、对象、类、数组、字符串String、集合等.

    float型float f=3.4 是否正确?**

    不正确:因为浮点型中,默认的是double,所以应该在3.4的后面加上后缀 f 、 F或者在其前面类型强制转换(float)3.4;

    short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有什么错?

    short s1 = 1; s1 = s1 +1 ; s1 + 1 运算结果是int型,需要强制转换类型;short s1 = 1; s1 += 1;可以正确编译,自动类型提升。

    Java有没有goto? const?关键字

    goto和const 是java中的保留字,也可以算是正在投入使用的关键字;

    int 和 Integer 有什么区别?

    Integer可以 为null,而int不可以;

    Integer可用于泛型,而int不可以;

    int比Integer更高效,因为int是在栈中直接存储的具体数值,而Integer是堆中存储数值的引用;

    两个Integer的值可以相同,但却不相等;

    Java 提供两种不同的类型:引用类型和基本数据类型(或内置类型); int是java的基本数据类型,Integer是java为int提供的封装类。 Java为每个原始类型提供了封装类:

    原始类型booleancharbyteshortintlongfloatdouble封装类型BooleanCharacterByteShortIntegerLongFloatDouble

    &和&&的区别?

    &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。&是非简洁与运算符,无论其在左侧为true或false,都要运算其右侧的逻辑表达式,最后才返回运算结果。&&简洁与运算符,只有在其左侧为true时,才运算其右侧的逻辑表达式,否则直接返回运算结果false;

    简述逻辑操作(&,|,^)与条件操作(&&,||)的区别?

    条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型逻辑操作不会产生短路。

    Statement 接口和PreparedStatement 接口的区别

    PreparedStatement 接口继承并扩展了Statement 接口;Statement 接口用来执行静态的SQL语句,PreparedStatement 接口用来执行动态的SQL语句;PreparedStatement 接口有效的防止 SQL 注入的问题,安全性更高;PreparedStatement 接口的实例在执行动态SQL语句时会进行预编译;
    Processed: 0.013, SQL: 8