当前位置:网站首页>父类对子类的引用(父类引用指向子类对象)
父类对子类的引用(父类引用指向子类对象)
2022-07-26 10:31:00 【一尾流鸢cd】
(有什么错误希望大家可以指出来,谢谢。)
使用前提:在父类与子类之间的关系中,调用的方法要在父类中定义。
例如:Animal a=new Dog();
Animal类是Dog类的父类,声明的是一个Animal类,实际上它指向的是子类的一个对象 也就是new 关键字后的。
关键字: 多态,动态链接,向上转型
1、多态
方法的重写与重载和动态链接构成多态性,在父类对子类的引用中主要体现在子类对父类方法的重写
2、动态链接
当父类中定义的某个方法在子类中没有被重写时,调用的是父类的方法,如果子类对父类的方法进行了重新,那么调用的是子类的方法。
3、向上转型
在例子中,实际上是实例化了一个子类Dog类型的对象,Animal类型的父类a只是对他的引用
所以Animal类型的引用是可以指向Dog类型的对象的。这就是“向上转型”
public class Animal {
public void animal1(){
}
public void animal2(){
}
}
public class Dog extends Animal {
public void animal1(){
System.out.println("继承父类 并对他的方法进行重写");
}
public void animal1(String dog){
System.out.println("此处是对animal1()方法的重载。");
}
public static void main(String[] args) {
Animal a=new Dog();
a.animal2();//此处的animal3()方法调用的是父类的方法
a.animal1();//此处是因为在父类中定义了animal1()方法,所以父类类型的引用可以调用这个方法
a.animal1("sss");//此处出现错误是因为父类中没有定义animal1(String dog)该方法,
// 该方法只是对animal1()方法的一个重写,所以父类类型的引用不能调用这个方法
}
}
边栏推荐
- [Halcon vision] image gray change
- 少了个分号
- [Halcon vision] polar coordinate transformation
- Okaleido生态核心权益OKA,尽在聚变Mining模式
- Employee information management system based on Web
- .NET操作Redis Set无序集合
- Dynamically determine file types through links
- Analyze the hybrid construction objects in JS in detail (construction plus attributes, prototype plus methods)
- What will the new Fuzhou Xiamen railway bring to Fujian coastal areas?
- Function templates and non template functions with the same name cannot be overloaded (definition of overloads)
猜你喜欢
随机推荐
面试第一家公司的面试题及答案(一)
videojs转canvas暂停、播放、切换视频
关于函数模板描述错误的是(链接格式错误怎么解决)
移动端双指缩放事件(原生),e.originalEvent.touches
.NET5WTM(ASP.NET Core) PGSql开箱操作
Self encapsulated database dbutils universal template
PTA class a 1002
将json文件中数组转换为struct
What if MySQL can't get in
Introduction to data analysis | kaggle Titanic mission (I) - > data loading and preliminary observation
hx711 数据波动大的问题
The CLOB field cannot be converted when querying Damon database
Using undertow, Nacos offline logout delay after service stop
STM32 阿里云MQTT esp8266 AT命令
数据库的复习--1.概述
uniapp使用简单方法signalR(仅用于web调试,无法打包app)
[Halcon vision] image filtering
C语言计算日期间隔天数
L2-005 set similarity (intersection of vector and set)
[Halcon vision] array