java第十课(4.13) 多态

Object是一切类的祖宗,在所有类里面都能调用Object的方法(toString、equals、getclass、hashcode) 比较常用的是重写equals。
toString 返回当前对象本身的有关信息,按字符串对象返回
tequals 对比两个对象的内存地址是否一致,若一致则返回true
getclass 获取当前对象所属类的信息
hashcode 哈希码

多态
多态其实就是通过继承来实现面对不同对象返回不同的值。父类中一般常会设计一个抽象方法。该抽象方法有abstract关键字且抽象方法不存在代码块。抽象方法必须在抽象类里面(抽象类也需要添加abstract关键字)。抽象类不能被实例化(new)。子类必须实现父类的抽象方法(子类同是抽象类时可以忽略)。

子类通过重写父类的方法来实现多态,一般在多态中分:作为父类方法的形参 public void text(Pet pet); 作为父类方法的返回值public Pet text(String type); 需要注意的是必须是子类重写父类的方法,然后不同的子类得到不同的效果这才是多态

在方法重写的过程中若需要向上转型与向下转型
向上转型如:Pet pet=new Dog();  这种通过父类Pet来实例化子类对象的就类似数据里面的自动转换。
向下转型如:Dog dog=(Dog)pet; 一般适用于调用子类Dog独有的方法或者成员。这种类似于数据里面的强制类型转换。

instanceof关键字 用来判断对比类中是否是继承关系如: if(Pet instanceof Dog){  代码块 } 

阅读更多
个人分类: 学习
上一篇java第十课(4.12)
下一篇java第十二课(4.17) 接口和抽象
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭