复习Java基础的总结随笔

Posted littlemike

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习Java基础的总结随笔相关的知识,希望对你有一定的参考价值。

技术图片

Java的基本类型有8种,整型4种:byte, short, int, long; 浮点型2种:float, double(其中小数默认为double,要用float需在数后加f); 

字符型1种:char; 布尔型1种:boolean.

所有的基本类型都有其对应的类类型,同种之间可以自动装、拆箱,不同种之间不行。

技术图片

异常分三类:错误(Error),运行时异常(RuntimeException),可查异常。

错误指的是系统级别的异常,通常是OutOfMemoryError,不要求强制捕捉

运行时异常不是必须进行try catch,常见的有ArthmeticException, ArrayIndexOutOfBoundsException, NullPointerException

可查异常即必须进行处理的异常,要么try catch,要么throws,不处理编译器则不通过

技术图片

 

Vector是线程安全的类,ArrayList非线程安全;

StringBuffer是线程安全的类,StringBuilder非线程安全;

String是类类型,是用final修饰的,是immutable的,即一旦创建好,则不可改变,而String的+拼接,底层是用StringBuilder来实现的。

技术图片

 

Collection是List和Set等这些接口的父接口

Collections则是工具类,提供了reverse, shuffle, sort, swap, rotate等方法

技术图片

逻辑操作符:

1. &&这样长的叫短路与,&这样短的叫长路与(区别是短路与只要前面判断成功,就不会进行后面的运算;长路则即使前面判断成功也进行后面运算)

2.例子:int i = 1; (i++ == 3)&(i ++ == 2)最后i = 3。int i = 1; (i++ == 3)&&(i++ == 2)最后i = 2。

3. &叫与,只要有一边为false时则为false。|叫或,只要有一边为true,则为true。

4. ^叫异或,只有一边为true一边为false的时候才为true,两边都是false或两边都是true,则为false(如上图所示)。

技术图片

 

final, finally, finalize的区别

1. final是修饰符,修饰类(表示该类不可继承),方法(表示该方法不能被重写),基本类型变量(表示该变量只能被赋值一次,也就是不可变的变量,则变为常量),引用(表示该引用只有一次指向对象的机会)(引用与对象的区别:Hero h = new Hero(),h为引用,new Hero()为对象)。

2. finally是try catch块最后的finally{}块,无论是否抛出异常都会最后执行finally块。

3. finallize是Object类的方法,所有的类都继承了该方法,当一个对象满足垃圾回收的条件并且被回收的时候,就会调用finalize()方法。

 

 1 public void attack() {
 2         System.out.println(name + " 进行了一次攻击 ,但是不确定打中谁了");
 3     }
 4  
 5     public void attack(Hero h1) {
 6         System.out.println(name + "对" + h1.name + "进行了一次攻击 ");
 7     }
 8  
 9     public void attack(Hero h1, Hero h2) {
10         System.out.println(name + "同时对" + h1.name + "和" + h2.name + "进行了攻击 ");
11     }

重载与重写的区别:

1. 重载指的是方法名字一样,但是参数的类型或者数量并不一样。事实上,重载的方法除了同名之外还可以返回类型不一样,因为重载其实本质上是完全不同的方法,只不过名字一样而已(如上图)。

2. 重写指的是子类继承了父类,并把父类提供的某方法重写了一遍,进行了不同的实现

技术图片

 

抽象类(Abstract class)与接口(Interface)的区别

1. 抽象类只能通过继承被使用,抽象类本身是不可以实例化的。抽象类不仅可以提供实现抽象方法(即没有实现内容的方法)如public abstract void creep(); 还可以提供正常的实现方法。

2. 接口其实可看做一套标准,里面规定了一系列方法,供其实现类来实现这些方法。接口里的方法默认是抽象的,但Java8之后可以提供正常实现方法了,不过前面要加个default修饰符。

所以其实抽象类和接口的区别正在变得越来越小了。

 

 

Firstly written on Sept. 26th, 2019

以上是关于复习Java基础的总结随笔的主要内容,如果未能解决你的问题,请参考以下文章

Java基础随笔1

巩固复习(对以前的随笔总结)_排序

巩固复习(对以前的随笔总结)_04

巩固复习(对以前的随笔总结)_数据结构

CGBTN2111-DAY01总结复习

CGBTN2110-DAY01总结复习