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 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列