JAVA基础的一些整理(持续更新)

1,JVM中一个字节以下的整型数据会在JVM启动的时候加载进内存(IntegerCache)
2,泛型章节复习
3,枚举类 所有的枚举值都是类静态常量,在初始化时会对所有的枚举值对象进行第一次初始化
4,多线程
5,接口中的变量默认是public static final 的,方法默认是public abstract 的
6,静态语句块中x为局部变量,不影响静态变量x的值
7,基本类型和基本类型变量被当作参数传递给方法时,是值传递。
   在方法实体中,无法给原变量重新赋值,也无法改变它的值。
   对象和引用型变量被当作参数传递给方法时,是引用传递。在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。
8,接口中只有常量定义,没有变量声明。
9, ------------------------------------------------
   |      | public | protrcted | default | private|
   ------------------------------------------------
   | 同类 |    y    |    y     |     y    |   y   | 
   ------------------------------------------------
   | 同包 |    y    |    y     |     y    |       |
   ------------------------------------------------ 
   | 子类 |    y    |    y     |          |       |
   ------------------------------------------------   
   |通用性|    y    |          |          |       |
   ------------------------------------------------
10,在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,
    是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,
    则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。
11,Java中类是单继承,但接口可以多继承,Interfere1 extends Interface2,Interface3...
12,编译时能被发现的是必须加上try catch的异常,这些异常在编译时可以被发现,
    如果异常编译时不一定发生,如除以0异常,指针为空异常。
13,完全二叉树的特点是:
    1)只允许最后一层有空缺结点且空缺在右边,即叶子结点只能在层次最大的两层上出现;
    2)对任一结点,如果其右子树的深度为j,则其左子树的深度必为j或j+1。 即度为1的点只有1个或0个
14,JAVA的初始化顺序:
    父类的静态成员初始化>父类的静态代码块>子类的静态成员初始化>
    子类的静态代码块>父类的代码块>父类的构造方法>子类的代码块>子类的构造方法
15,使用反射可以看出子类是继承了父类的私有方法的(不管是否是final),
    只是直接调用父类的私有方法是不可以的,但是利用反射的方式可以调用。字段同理。
16,数值型变量在默认情况下为Int型,byte和short型在计算时会自动转换为int型计算,
    结果也是int 型。所以a1*a2的结果是int 型的。
17,泛型仅仅是java的一颗语法糖,它不会影响java虚拟机生成的汇编代码,
    在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,
    顶多编译速度稍微慢一些,执行速度是完全没有什么区别的。
18,既然是实现接口,就要实现接口的所以方法,
    相当于重写方法,方法的重写需要满足:
    三同一大一小(方法名、返回值类型、形参相同;访问权限>=重写前;抛出异常<=重写前)
19,static 方法中没有this 这么一说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值