2019-6-3牛客网刷题易错知识点

本文深入探讨了Java中的char数据类型特性、HashMap的工作原理、类的加载顺序、子类与父类的关系、final变量的使用规范及File类的功能,涵盖了从基本数据类型到高级特性的多个层面。

char占16位,而且没有负值。所以最小值是0。最大值是1111111111111111 = 2^16 - 1

static相当于一个全局变量,属于类,本类和它的实例共享它,一旦某个对象改变该值,则所有对象都受到影响

HashMap的底层是由数组加链表实现的,对于每一个key值,都需要计算哈希值,然后通过哈希值来确定顺序,并不是按照加入顺序来存放的,因此可以认为是无序的,但不管是有序还是无序,它都一个自己的顺序。最开始有Hashtable,Hashtable是不允许key和value的值为空的,但后来开发者认为有时候也会有key值为空的情况,因为可以允许null为空,通过查看HashMap的源代码就知道:if(key = null) {putForNullKey(value);};

 

子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?

父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块

 

构造函数可以被重载

A 派生出子类 B , B 派生出子类 C ,并且在 Java 源代码中有如下声明:

1. A  a0=new  A();

2. A  a1 =new  B();

3. A  a2=new  C();

第1行、第2行和第3行的声明都是正确的

继承具有传递性,子类可以无条件向上转型!

 

没有final修饰的变量相加后会被自动提升为int型,与目标类型byte不相容,需要强制转换(向下转型)例:

byte b1=1,b2=2,b3,b6; 

final byte b4=4,b5=6; 

b6=b4+b5; 

b3=(b1+b2); 

System.out.println(b3+b6);

语句:b3=b1+b2编译出错

 

子类的权限不能比父类更低

File类是对文件整体或者文件属性操作的类,例如创建文件、删除文件、查看文件是否存在等功能,不能操作文件内容;文件内容是用IO流操作的。

Java中对于文本文件和二进制文件,都可以当作二进制文件进行操作。

 

亲自测试了一下,类的final成员变量必须满足以下其中一个条件

 1、在构造函数中赋值

 2、初始化赋值

 

java用来运行一个.class文件

javadoc用来生成api文档

jar用来生成jar包

javac用来把.java文件编译为.class文件

Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值