JAVA
基础
数据类型
Java编程语言是静态类型的,这意味着必须先声明所有变量,然后才能使用它们。正如您已经看到的,这涉及到声明变量的类型和名称
- byte/8
- char/16
- short/16
- int/32
- float/32
- long/64
- double/64
- boolean/~
char
数据类型是单个16位Unicode字符。它的最小值为'\u0000'
(或0),最大值为'\uffff'
(或65,535,包括端值)。
String 字符串
被声明为 final,因此它不可被继承。(Integer 等包装类也不能被继承)
new 方法创建一个对象,对象与对象之间不相等
赋值 表面意义上的含义指向,指向相同,相等
参数传递
Class class 传递的是一个指针,存储的是对象的地址,因此将一个参数传入一个方法时,本质是将对象的地址传递到形参中!当然,在一个指针改变其所指向对象的内容对另一个指针所指向的对象没有影响。
类型转换 不能向下,double -> float
关键字
final 声明数据为常量
private 实际被指定为final,如果在子类中定义的方法和基类中的一个 private 方法签名相同,此时子类的方法不是重写基类方法,而是在子类中定义了一个新的方法
class 声明类不允许被保存
static 静态变量:又称为类变量,也就是说这个变量属于类的,类所有的实例都共享静态变量,可以直接通过类名来访问它,静态变量在内存中只存在一份
private int x; // 实例变量,实例在变量在
public static void func1(){不依赖实例,不能是抽象的,必须有实现,
访问静态字段和方法,不能包含this,super;静态变量和语句优先于实例变量和普通语句块
静态内部类不能访问外部类的非静态的变量和方法。 }
Object 方法
对于基本类型,== 判断两个值是否相等,基本类型没有 equals() 方法。
对于引用类型,== 判断两个变量是否引用同一个对象,而 equals() 判断引用的对象是否等价。
hashCode() 返回哈希值,而 equals() 是用来判断两个对象是否等价。等价的两个对象散列值一定相同,但是散列值相同的两个对象不一定等价,这是因为计算哈希值具有随机性,两个值不同的对象可能计算出相同的哈希值
//等价和相等, this.equals() ==
Character x = new Character('a');
Character y = new Character('a');
System.out.println(x.equals(y)); // true
System.out.println(x == y); // false
public Basic(int x, int y) {
this.x = x;
this.y = y;
}
Basic e1 = new Basic(1, 1);
Basic e2 = new Basic(1, 1);
System.out.println(e1.equals(e2)); // true
toString() 返回表示 Integer 值的 String 对象 返回表示指定 int 的 String 对象
Integer x = 15;
System.out.println(x.toString());
System.out.println(Integer.toString(15));