在C++中,没有提供用于表示抽象类的特殊关键字。只要有一个纯虚函数,这个类就是抽象类。
hashCode()方法是定义在Object类中,因此每个对象都有一个默认的散列码,其值为对象的存储地址。
绝大多数的toString方法都遵循这样的格式:类名[域值],最好通过调用getClass().getName()获得类名。如:
public String toString(){
return getClass().getName()
+ "[name=" + name
+ ", salary=" + salary
+ "]";
}
知识兔int[] nums = {1,2,3};
String s = Arrays.toString(nums);将生成字符串"[1,2,3]"。要想打印多维数组(即,数组的数组)则需要调用Arrays.deepToString方法。
Java的老版本中,程序员使用Vector类实现动态数组。不过,ArrayList类更加有效,没有任何理由一定要使用Vector类。
在Java5.0以前,每个Java方法的参数数量是固定的。5.0之后的版本提供了可以用可变的参数数量调用的方法。例如:
/**
* 参数数量可变的方法
*/
public class Demo1 {
public static void main(String[] args) {
Demo1.largest(1, 2);
Demo1.largest(1, 2, 3);
}
public static void largest(int... ints) {//注意此处参数列表的格式
int largest = Integer.MIN_VALUE;
for(int n : ints) {
if (n > largest) {
largest = n;
}
}
}
}
知识兔枚举类
import java.util.Scanner;
public class EnumTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE)");
String input = in.next().toUpperCase();
Size size = Enum.valueOf(Size.class, input);
System.out.println("size:" + size);
System.out.println("abbreviation=" + size.getAbbreviation());
if (size == Size.EXTRA_LARGE) {
System.out.println("Good job--you paid attention to the _.");
}
}
enum Size {
SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");
private String abbreviation;
Size(String s) {
abbreviation = s;
}
public String getAbbreviation() {
return abbreviation;
}
public void setAbbreviation(String abbreviation) {
this.abbreviation = abbreviation;
}
}
}
知识兔运行结果:
Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE)
extra_large
size:EXTRA_LARGE
abbreviation=XL
Good job--you paid attention to the _.