Java知识点(知识点)

1、简述Java的特点

面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2、简述JRE与JDK的区别

JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了Java 程序运行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给普通用户使用的,如果你只想运行别人开发好的 Java 程序,那么,你的计算机上必须且只需安装 JRE。

JDK(Java Development Kit,Java 开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给 Java 开发人员使用的。初学者学习和使用 Java 语言时,首先必须下载和安装 JDK。JDK 中已经包含了 JRE 部分,初学者安装 JDK 后不必再去下载和安装JRE 了。

3、简述Java的运行机制

Java 程序运行时,必须经过编译和运行两个步骤。首先将后缀名为.java 的源文件进行编译,生成后缀名为.class 的字节码文件,然后 Java 虚拟机将字节码文件进行解释执行,并将结果显示出来。

1、请列举Java语言中的8种基本数据类型,并说明没种数据类型所占的空间大小。

Java 语言的八种基本数据类型有:byte 字节型,占一个字节。short 短整型,占两个字节。int 整型,占 4 个字节。long 长整型,占 8 个字节。float 单精度浮点型,占 4 个字节。double 双精度浮点型,占 8 个字节。char 字符型,占两个字节。boolean 型,表示逻辑值,有 true 和 false 两个值,分别占一个字节。

2、简述&&与&的区别并举例说明:

如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。
如果使用“&&”进行连接,当“&&”左边的表达式为 false,则不会执行其右边的表达式。例如
定义 int x = 2,y = 0; boolean b = x < y & x / 2 > 0 表达是会发生被 0 除异常,因为 x / y 的表达式执行了。而 boolean b = x < y & x / 2 > 0 是不会出现这种异常的,因为 x < y 为 false,表达式 x / y 不会执行。

3、请简述跳转语句break和continue的作用和区别

方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一样。调用这些同名的方法时,JVM 会根据实际参数的不同绑定到不同的方法。

1、简述构造方法和普通的成员方法有什么区别

构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用 return 语句返回一个值。

2、简述Java中的构造方法必须同时满足的条件

(1)方法名与类名相同;
(2)在方法名的前面没有返回值类型的声明;
(3)在方法中不能使用

return 语句返回一个值,但是可以单独写 return 语句来作为方法的结束。

3、简述Java面向对象的特性。

Java 面向对象有三大特性,封装是将对象的属性和行为封装起来,不需要让外界知道具体实现细节;继承是可以在无需重新编写原有类的情况下,对原有类的功能进行扩展;多态指的是在一个类中定义的属性和功能被其他类继承后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同行为特性。

1、简述什么是方法的重写

在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写(覆盖)父类的方法。

2、简述什么是多态

多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。

3、简述抽象类和接口的区别

在 Java 中,使用 abstract 关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。

接口可以说是一种特殊的抽象类,接口中只能定义常量、抽象方法、静态方法和默认方法。由于接口的特殊性,在定义时需要使用 interface 关键字。

1、简述String和StringBuffer有什么区别

String 类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer 是可变字符串类,类似 String 的缓冲区,可以修改字符串的值。

2、简述Date和Calendar类有什么区别和练习

Date 类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。

Calender类基本取代了 Date 类,该类中定义了一系列用于完成日期和时间字段操作的方法。
Calendar 的 getTime()方法,getTime()返回一个表示 Calendar 时间值的 Date 对象,同时 Calendar 有一个 setTime(Date date)方法,setTime()方法接收一个 Date 对象,将 Date 对象表示的时间值设置给Calendar 对象,通过这两个方法就可以完成 Date 和 Calendar 对象之间的转换。

3、简述什么是自动装箱和自动拆箱

自动装箱是指将基本数据类型的变量赋给对应的包装类变量,反之,拆箱是指将包装类对象类型直接赋给一个对应的基本数据类型变量。

1、简述什么是集合并列举集合中常用的类和接口

为了使程序能方便的存储和操作数目不固定的一组数据,JDK 提供了一套类库,这些类都位
于 java.util 包中,统称为集合。集合框架中常用的接口和类有,List、Set、ArrayList、HashSet、Map、HashMap、TreeMap。

2、简述集合中的List、Set、Map有什么区别

List 的特点是元素有序、可重复。List 接口的主要实现类有 ArrayList 和 LinkedList。Set 的特点是元素无序、不可重复。

Set 接口的主要实现类有 HashSet 和 TreeSet。

Map 的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map 接口的主要实现类有 HashMap 和 TreeMap。

3、简述Collection和Collections的区别

Collection 是一个单例集合接口。它提供了对集合对象进行基本操作的通用方法。

Collections 是一个工具类。它包含各种有关集合操作的方法。

1、请简述重载和重写的区别。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

2、什么是继承。

通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。

1、请简述JAVA中构造方法须满足的条件。

构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。

2、简述抽象类和接口的特点。

在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。

接口可以说是一种特殊的抽象类,接口中只能定义常量、抽象方法、静态方法和默认方法。由于接口的特殊性,在定义时需要使用interface关键字。

1.简述构造方法的作用与特点。

构造方法用于为类的成员变量赋初值。(1分)
构造方法具有以下特点:
(1) 构造方法名与类名相同;(1分)
(2) 构造方法不返回任何值,也没有返回类型;(1分)
(3) 每一个类可以有零个或多个重载的构造方法。若没有为一个类显式的定义构造方法,则当创建类对象时,编译器将自动为它创建一个没有参数的默认构造方法;(1分)
(4) 构造方法只能在创建对象时通过new关键字来自动调用。(1分)

2.请说说什么是类和对象,并描述两者关系。

具有相同特征和行为的对象被抽象为类。(1分)对象是类的实例。(1分)类与对象是一般和特殊的关系。类是对象的模板,包括一个对象的所有数据和代码。对象是属于类的。(3分)

猜你喜欢

转载自blog.csdn.net/qq_45696288/article/details/122263057