Java刷题笔记7.25
一个类构造方法的作用是什么?
主要是完成对类对象的初始化工作
如果一个类没有声明构造方法也会有默认的不带参数的构造方法。
构造方法的特性
- 名字与类名相同
- 没有返回值,但不能用void声明构造函数
- 生成类的对象时直接声明,无需调用
静态方法和实例方法有何不同?
1.外部调用静态方法时,可以用“类名.方法名”,也可以用“对象名.方法名”
实例方法只能“对象名.方法名”(静态方法可以无需创建对象)
2.静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),实例方法无限制。
对象的相等和指向他们的引用相等,两者有何不同?
对象的相等,比的是内存中存放的内容是否相等,而引用相等比的是内存地址。
== 与 equals(重要)
== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据
类型 == 比较的是值,引用数据类型 == 比较的是内存地址)。
equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:
情况 1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过 “==”比较这两个对象。
情况 2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来比较两个对象的内容是 否相等;若它们的内容相等,则返回 true (即,认为这两个对象相等)。
hashcode
hashcode的作用是获取哈希码,也称为散列码,它实际是返回一个int整数
Object的hashcode方法是本地方法,也是用C语言和C++实现的,该方法通常用来将对象的内存地址转化为整数之后返回
线程,程序,进程的区别和基本概念
final关键字
final关键字主要用在三个地方:变量,方法,类
- 对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更 改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
- 当用 final 修饰一个类时,表明这个类不能被继承。final 类中的所有成员方法都会被隐式地 指定为 final 方法。
- 使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义; 第二个原因是效率。在早期的 Java 实现版本中,会将 final 方法转为内嵌调用。但是如果方 法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的 Java 版本已经不需要使用 final 方法进行这些优化了)。类中所有的 private 方法都隐式地指定为 final。
获取用键盘输入常用的两种方法
方法 1:通过 Scanner
Scanner input = new Scanner(System.in);
String s = input.nextLine();
input.close();
方法 2:通过 BufferedReader
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String s = input.readLine();
Java中的IO流分为几种?
- 按照流的流向分,可以分为输入流和输出流
- 按照操作单位划分,可以分为字节流和字符流
- 按照流的角色划分为节点流和处理流
List,Set,Map三者的区别?
- List:储存的元素有序、可重复
- Set:无序不可重复
- Map:使用键值对储存。k是无序、不可重复。value是无序、可重复,每个键最多映射到一个值