首页 > 其他分享 >Demo56_关于多态_较复杂

Demo56_关于多态_较复杂

时间:2022-11-02 23:26:32浏览次数:35  
标签:school Demo56 复杂 子类 多态 Student new 父类

          输出类的代码如下
package com.oop.DuoTai_5;

public class Application {
public static void main(String[] args) {
//方法的输出与右侧关系不大,左侧的类名才是方法调用的关键
//右侧的类必须比左侧的类小或者相等
//例如:可以school school = new school();
//可以 Object school1= new school();
//不可以 Student school1= new school();
//Student能调用(实例化)的方法都是自己的或者继承的
Student s1= new Student();
//school可以指向Student,但是不能调用(实例化)子类
//school也是不能调用子类独有的方法
school s2 = new Student();
Object s3 = new Student();
//强制转换:将school转换为Student,这样子才能输出 eat方法,必须是继承关系才可以
//高转低就要进行强制转换
((Student) s2).eat();
s1.run();
s1.run1();
//例如
school school = new school();
Object school1= new school();
//子类与父类同时有run方法时,方法判定输出子类run方法
s1.run();
s2.run();
}
}
/*
多态的注意点:
1.多态只有方法的多态,属性没有多态
2.多态只能在有继承关系下才能使用,父类与子类
3.类型转换(实例化)时必须要有继承关系,否则就会转换异常 ClassException!
多态的存在条件:
1.继承关系
2.方法需要重写,如果两个方法名相同那么系统默认输出子类的方法
3.父类的引用指向子类对象
school s2 = new Student();
school的对象s2指向子类对象Student
课外:
1.static不能被重写,因为它是属于类,它不属于实例
2.final在常量池里,也是不能被重写的
3.privat是私有的,不能被重写

*/
代码输出的内容为:

 

                                      子类与父类的代码如下

 

 

 

 左侧就是引用类型,引用类型可以是父类或者本类,祖宗类,父类的引用指向子类,通过父类new自己的子类

标签:school,Demo56,复杂,子类,多态,Student,new,父类
From: https://www.cnblogs.com/CHX249/p/16852905.html

相关文章

  • java多态性(转载)
    原文链接https://www.cnblogs.com/jack204/archive/2012/10/29/2745150.htmlJava中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和......
  • java多态的案例
    classAnimal{intage=100;//如果父类中没有call方法,那么子类中也不能调用该方法,编译时会出错publicvoidcall(){System.out.println("动物再......
  • react项目因为代码复杂度问题无法打包
    项目中碰到个问题,后台返回数据为null,但是之前代码没有做null的判断,导致使用该数据里属性值时报错  很快,在代码中定位到报错字段,加上可选链操作符( ?.)时,代码编译运......
  • C++:45---多态
    一、多态介绍面向对象的核心思想是多态性,其含义是“多种形式”概念:在子类覆盖了父类函数的情况下,用父类的指针(或引用)调用子类对象,或者通过父类指针调用覆盖函数的时候(动......
  • java多态
    测试一:成员变量:编译时期向左看,运行时也向左看测试二:成员方法:编译时期向左看,运行时期向右看什么是多态呢?多态可以理解为是同一个方法由于发送对象的不同而执行不同的行为......
  • Java-什么是多态,多态的具体体现有那些?
    多态:方法或者对象有多种形态,是OOP的第三大特征,是建立在封装和继承之上的多态的具体体现:方法多态重载体现多态重写体现多态对象多态对象的编译类型和运行类型可......
  • 树的遍历时间复杂度
    树的遍历通常分为前序遍历、中序遍历、后序遍历、层序遍历四种情况。对于遍历方式只是打印顺序而已,所以四种遍历复杂度均相同。1.非递归遍历(辅助栈)时间复杂度:O(N)空间......
  • Python 复杂版贪食蛇(源代码)
    Python复杂版贪食蛇(源代码)简易版贪食蛇代码如下,直接运行即可。备注:案例来源于书:Pygame游戏开发指南1.效果图2.源代码#!/usr/bin/envpython#-*-coding:utf-8......
  • 【Java】接口多态练习题
    设计一个USB接口,USB接口拥有启动和停止方法,网卡类实现USB接口,重写实现网卡启动停止方法声卡类实现USB接口,重写实现声卡启动和停止方法,主板类拥有使用USB接口的方法。方法......
  • MySQL的外键约束(FOREIGN KEY),有点小复杂
    一、什么是参照完整性在学习外键之前,我们必须先搞懂一个概念,什么是“参照完整性”。参照的关系中的属性值必须能够在被参照关系找到或者取空值,否则不符合数据库的语义。在实......