一、Object类的方法
1. toString()方法
Object类的、String返回值类型的toString();
System.out.printf(stu);
即默认System.out.printf(stu.toString());
直接打印某对象的引用时,则默认会调用这个对象的toString()方法,默认打印的内容中包含这个引用所指向的16进制内存地址。
2. equals(Object obj)方法
“abc".equals("abc"); //重写/复写后,比较当前对象和传入参数对象的具体内容是否相等
x.equals(y); //x和y指向的地址是否相等,相等返回true,否则返回false
eg:不是同一对象
没有传值(默认为空值)
传递的参数是否属于特定类/为特定对象
注意:String 类中已经重写了 equals(Object obj ) 方法,重写后的方法比较的是两个字符串的 ” 内容 ” 是否一样*==比较对象的引用
二、 面向对象的多态性
1. 对象转型
向下转型(先向上转,再向下转)
向上转型
转型后调用的方法,是重写之后的方法
2. 方法体现
重写 重载
override overload
子类和父类间 一个类中
子类根据需求重写父类中的方法 根据传入的参数不同,完成的功能也不同
三、抽象类与接口
关键字
即保留字,有特殊意义。不能当包名、类名
final
声明情况
类:类不可被继承
属性(变量,如局部变量和成员变量):不可更改值/重新赋值(变量变为常量)
方法:子类不可被重写方法
注意:常量大写
抽象类
abstract
定义为抽象类:1.类中包含了抽象方法;2.子类可以不实现/重写父类中所有的抽象方法
不能声明为抽象方法:构造、静态、私有、final等方法
抽象类必须被继承,它的方法必须被重写
interface(特殊的抽象类)
eg:副接口由子类对象转成
Fly f1=new Kite():
注意:接口和抽象类都不能被实例化
"单继承"——类
"多继承"——接口
Copyright © 2017 Jin Hanquan. All rights reserved.