什么是多态?
同一个类调用同一个方法会产生不同的影响/结果 这就是多态
public class Pet{
public void eat(){
System.out.println("Pet eat...")
}
}
class Dog extends Pet{
public void eat(){
System.out.pringln("Dog eat...")
}
public void run(){
System.out.pringln("Dog run...子类特有的方法")
}
}
class Cat extends Pet{
public void eat(){
System.out.println("Cat eat...")
}
public void swim(){
System.out.println("Cat swim...子类特有的方法")
}
}
为什么向上转型?
限制对子类特有方法的访问文章来源:https://www.toymoban.com/news/detail-419750.html
Pet p=new Dog()//向上转型是子类转父类 自动提升不需要强转
p.eat()
p.run() //报错 只能访问到父类有的方法 编译时看左边类型 运行时看右边类型
为什么向下转型?
使用子类特有的方法文章来源地址https://www.toymoban.com/news/detail-419750.html
Pet p=new Cat()
p=(Cat)p //向下转型是父类转子类 需要强制转换但只能转到运行期类型(这里是Cat)
//x instanceof y 可以判断x是否是y类型
到了这里,关于关于Java中对象的向上转型和向下转型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!