关于java的学习记录:
Day11
1.断点:就是一个标记
2.设置断点:在程序左边双击
3.如何运行设置断点后的程序:右键-àDebug as-àJava Application
4.Debug:断点测试的地方,F6,或者点击,单步跳过,单步进入
5.Variables:查看程序的变量变化
6.ForDemo:被查看的源文件
7.一些快捷键:
新建ctrl+n
格式化ctrl+shift+f
导入包ctrl+shift+o
注释ctrl+/ ctrl+shift+c
代码行上下移动:选中代码行alt+上下箭头
查看源代码:选中类名 F3或者ctrl+鼠标点击
查找具体的类ctrl+shift+t
给建议ctrl+1
抽取方法alt+shift+m
改名alt+shift+r
向下复制一行ctrl+alt+向下键
8.publicint hashCode()返回该对象的哈希码值,默认情况下,该方法会根据对象的地址来计算;不同对象的hashCode()一般来说不会相同,但是,同一个对象的hashCode()值相同
例:Object obj1=new Object();
int hashCode=obj1.hashCOde();
9.getClass()获取该对象的字节码文件
例:Object obj1=new Object();
Class clazz=obj.getClass();
String name=clazz.getName();运行结果:java.lang.Object
10.toString()方法作用:可以更方便的显示属性值
如果直接打印对象的引用,会默认调用toString()方法
例:Student s=new Student(“kaak”,23);
System.out.println(s);运行结果:java.lang.Object@36aa7bc2
左边是类名,中间是@,右边是hashCode的十六进制表现形式
一般会重写toString()方法
11.equals()方法:比较两个对象是否相等
public boolean equals(Object obj){
return (this==obj);
}
Object中的equals方法是比较对象的地址值的,没有什么意义,我们需要重写它,因为在开发中我们通常比较的是对象中的属性值,我们认为相同属性是同一个对象,这样我们就需要重写equals方法
==和equals方法的区别:
共同点:都可以作比较,返回值都是boolean
区别:==是比较运算符,既可以比较基本数据类型,也可也比较引用数据类型,接本数据类型比较值,引用数据类型比较地址值;equals方法只能比较引用数据类型,没重写之前比较地址值,底层依赖===号,这样的比较是没有意义的,需要重写equals方法比较对象中的属性值
例: