一:知识点
1.字符串"你好北京"中每个字符占用2个内存字节数。字符串底层由字符数组构成,每个字符占用内存2个字节。
2.重写toString
一般对象都有这个方法,目的是将对象按字符串的方式输出出来。所有对象都继承了Object方法,如果不重写toString方法,输出的就是一个内存地址即哈希码值,格式为:类名+@+hashCode值。重写后即可按照自己的方式去输出。
当使用控制台打印一个对象时,实际上println方法内部会自动调用对象的toString()方法
二:代码题
1.实现Point类的equals方法,具体逻辑为:成员变量x和y分别相等的Point对象被视为相等。
public class Point{
private int x;
private int y;
......
public boolean equals( Object obj){
if ( ! (obj instanceof Point ) ) return false;
if ( ! (Point)obj.x) == this.x && ( (Point)obj).y == this.y {
return true;
}}}
使用instanceof 运算符判断一个对象是否属于Point类,若不判断,运行时会报错:ClassCastException.