instanceOf使用
instanceOf 比较操作符,用于判断第一个对象的运行类型是否为第二个对象的XX类型或XX类型的子类型
如: System.out.println(AA instanceOf BB); 判断AA的运行类型 是否等于BB类型,或者BB的子类型,是就返回true ,否则返回false
super
super代表父类的引用,用于访问父类的属性、方法和构造器
语法:
调用属性和方法 super.属性名; super.方法名(参数);
调用构造器 super(参数);
细节
1)方法名(参数);this.方法名(参数);访问方法,如果有继承,就会按照就近原则找这个方法,先从本类一直找到祖宗类,
super.方法名();从父类一直找到祖宗类。访问属性也是这个规则
this的本质
简单一句话,哪个对象名调用类,那么this.成员变量 就是 对象名.成员对象,this == 对象本身
this 指向 对象本身,创建对象时开辟内存空间,里面有一个this, this 指向this本身所在内存空间
所以this.成员变量 就是 对象名.成员对象
this细节
1)this 关键字可以用来访问本类的属性、方法、构造器
2)this 用于区分当前类的属性和局部变量
3)访问成员方法的语法:this.方法名(参数列表)跟 方法名(参数列表)效果差不多,但到继承的时候是有区别的
4)访问构造器语法:this(参数列表);
注意只能在构造器中调用另一个构造器,并且this(参数列表);
要放在构造方法内的第一行代码
5)this 不能再类定义的外部使用,只能再类定义的方法中使用,只有方法的{} 内this才能用!
euquals 跟 == 区别
8.9.1euquals 跟 == 区别
==是一个比较运算符
-
==:既可以判断基本类型,又可以判断引用类型
-
==:判断基本类型的值是否相等
-
==:判断引用类型的地址是否相等,即判断是不是同一个对象,向上转型也可以返回true
equals
-
equals是object类中的方法,只能判断引用类型,值相等返回true,否则返回false
-
equals判断引用类型的地址是否相等