首页 > 其他分享 >重写多态oppdemo7

重写多态oppdemo7

时间:2022-10-13 10:25:11浏览次数:55  
标签:子类 多态 Person Student oppdemo7 父类 重写 public

public class Person {
public void run(){
System.out.println("father");
}
}

/*
多态注意事项:
1.多态是方法的多态,属性没有多态
2.父类和子类有联系 类型转换异常(ClassCastException)
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象(Person s2 = new Student();)

无法被重写的方法:
1.static静态方法,属于类,不属于实例
2.final 常量
3.private 方法,私有的
*/


public class Student extends Person{

@Override
public void run(){
System.out.println("son");
}

public void eat(){
System.out.println("eat much");
}
}


public class Application {
public static void main(String[] args) {
/*一个对象的实际类型是确定的
new.Student();
new.Person();
*/
//可以指向的引用类型就不确定了:父类的引用指向子类
Student s1 = new Student();//Student能调用的方法为自身有的或者继承父类的
Person s2 = new Student();//Person父类,可以指向子类,但是不能调用子类独有的方法
Object s3 = new Student();

//对象能执行哪些方法,主要看对象左边的类型,和右边关系不大
s2.run();//子类重写了父类的方法,执行了子类的方法
s1.run();
s1.eat();
((Student)s2).eat();//父类不能调用子类独有的方法(强制调用,高(person)转低(student))

}
}

标签:子类,多态,Person,Student,oppdemo7,父类,重写,public
From: https://www.cnblogs.com/123jgh/p/16787207.html

相关文章

  • c语言实现继承、封装、多态
    c语言实现多态,点击进入主要内容:多态:利用设计和实现一个易于扩展的系统;c++中多态指:具有不同功能的函数可以用同一个函数名,这样可以用一个函数名调用不同内容的函数;静态多......
  • 面向对象之多态
    鸭子类型我们都知道面向对象的语言有三大特性:封装、继承和多态,在这里我浅谈一下python的多态1classPageOne:2defstatus(self):3return"按期......
  • 重写 hashcode()真有那么简单嘛?
    万万没想到一个hashcode()方法,既然会引出一堆的知识盲区,简直了。起因:老八股:为什么重写Equals方法要重写HashCode方法。大声告诉我为什么,闭着眼睛先把答案背出来,啥?这......
  • nginx url地址重写与转发
    1. 去掉地址中的/api部分location/api/ws{      rewrite"^/api(.*)$"$1;   }2. /ws地址将转发http://47.119.131.185location/ws{      pr......
  • java 多态
    /***obj-2*多态*/abstractclassFruits{abstractvoidcolour();}/***obj-2*/publicclassAppleextendsFruits{publicvoidcolour(){System......
  • java重写(Override)&重载
    /***obj_1*Java继承*动物类*/publicclassAnimal{privateStringname;privateintid;publicAnimal(StringmyName,intmyid){name=my......
  • day08 final关键字&面向对象——多态&抽象类、方法&向上、向下转型
    day08final关键字最终的不可更改的特点:1)修饰类,类不能被继承2)修饰方法,方法不能被重写3)修饰成员变量(变为常量),值不能修改,名字大写,声明同时给常量赋值main方法中1)修饰......
  • 为什么选择 Kotlin 重写后端服务?
    目录​​1.确定适用的技术栈​​​​2.选择适合的编程语言​​​​Kotlin优点:​​​​软件库生态系统强大​​​​对gRPC、HTTP、Kafka、Cassandr和SQL提供一等支持​​......
  • Servlet Servlet生命周期、java用swith取代多个if else、重载与重写、AJAX定义、应用
    大家可分享关于Java微服务相关知识,包括但不限于Java微服务开发经验、架构组成、技术交流、中间件等内容,我们鼓励springcloud架构为基础发散出击,从而达到技术积累的目的,快来......
  • 动手动脑——继承和多态
    动手实验 classGrandparent{publicGrandparent(){System.out.println("GrandParentCreated.");}publicGrandparent(St......