1,直接用基类指针引用基类对象 2,直接用派生类指针引用派生类对象 3,用基类指针引用一个派生类对象,由于派生类对象也是基类的对象,所以这种引用是安全的, 但是只能引用基类成员。若试图通过基类指针引用那些只在派生类中才有的成员,编译器会报告语法错误。(解决该问题的答案是虚函数和多态性) 4,用派生类指针引用基类的对象。这种引用方式会导致语法错误。派生类指针必须先强制转换为基类指针,这种方法是不安全
转载
2023-09-26 21:07:02
100阅读
1.背景面向对象的三大特点,继承,封装,多态。何为多态(Polymorphism)?接口的多种不同的实现方式就是多态(百度百科)。 PC上的一个USB接口,可以插入U盘,可以插鼠标,也可以连接手机,在PC上会有针对这些设备不同的驱动程序以实现连接,也就是谁使用谁去实现。在程序语言中,通过子类继承父类,然后重写覆盖的方法,在创建对象时,将父类的引用指向子类的对象,就可以利用父类引用调用子类
Java父类指针指向子类对象在使用Java语言的时候,发现好多代码是这样写的Parent obj = new Child();即父类指针指向了子类对象,这样写有什么好处呢?这其实是实现多态的一种方法。什么是多态多态是指同一个行为具有多个不同表现形式或形态的能力。即多态就是同一个接口,使用不同的实例而执行不同的操作。多态存在的三个必要条件继承重写(Override)父类引用指向子类对象:Parent
原创
2023-05-19 14:28:24
181阅读
当父类的对象引用没有指向父类的对象,而是指向了子类的对象时,调用方法或访问变量时会怎样呢?假设父类为Person,子类为Student,有下面的两行定义:Student sTest = new Student();Person pTest = sTest;其中,pTest就是父类的对象引用,sTest是子类的对象引用;pTest和sTest指向了同一个子类对象。那么,(1).如果子类的成员变量与父
# Java 父类对象指向子类对象的实现
在 Java 中,父类对象可以指向子类对象,这是通过多态性来实现的。多态性是面向对象编程中一个重要的特性,允许我们在运行时使用不同的对象。这一特性使得 Java 代码更具灵活性和可读性。
## 流程概述
我们可以通过以下步骤来实现父类对象指向子类对象:
| 步骤 | 描述 |
|------|---
例如: 有以下2个类public class Father
{
public int age = 70;
public static string name = "父亲";
}
public class Son : Father
我们都知道,面向对象程序设计中的类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性
原创
2022-05-15 13:00:02
1208阅读
父类引用指向子类对象指的是:例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = new Cat();
即声明的是父类,实际指向的是子类的一个对象。那我们从内存角度来理解试试.
假设现在有一个父类Father,它里面的变量需要占用1M内存.
有一个它的子类Son,它里面的变量需要占用0.5
3、记住一个很简单又很复杂的规则,一个类型引用只能引用引用类型自身含有的方法和变量。你可能说这个规则不对的,因为父类引用指向子类对象的时候,最后执行的是子类的方法的。其实这并不矛盾,那是因为采用了后期绑定,动态运行的时候又根据型别去调用了子类的方法。而假若子类的这个方法在父类中并没有定义,则会出错。例如,DerivedC类在继承BaseClass中定义的函数外,还增加了几个函数(例如 myFun(
转载
2023-08-21 15:41:59
187阅读
这次我们来看一个Java中经典的问题。我们都知道面向对象三大特征:封装、继承、多态 我们先来看一个小小的程序class A{
public void fun1(){
System.out.println("A1");
}
public void fun2(){
this.fun1();
}
}
class B extends A{
转载
2023-09-29 10:26:29
143阅读
## Java 父类 this 指针指向子类对象
在 Java 中,`this` 关键字是一个非常重要的概念,它指向当前对象的引用。特别是在继承的上下文中,`this` 指针的指向可能会引起一些细微却有趣的现象。本文将讨论“父类的 `this` 指针指向子类对象”的现象,并通过代码示例进行详细阐释。
### 理解 `this` 的指向
在 Java 中,当子类继承父类时,子类可以访问父类中的
# Java父类引用指向子类对象的实现方式
在Java中,父类引用指向子类对象是一种多态的表现形式,可以让代码更加灵活和可扩展。本文将介绍如何实现"java父类引用指向子类对象"的步骤,并提供相应的示例代码。
## 实现步骤
下面是实现"java父类引用指向子类对象"的基本流程:
| 步骤 | 描述 |
| --- | --- |
| 1 | 创建一个父类和一个子类 |
| 2 | 在子类
原创
2023-07-24 07:14:23
103阅读
父类引用指向子类对象,如何访问子类的属性?
1、第一种办法最简单,强制类型转化为子类。
2、父类引用指向子类对象,由于当前引用为父类,只能访问父类的字段和方法,但是根据多态性可以访问子类的方法,在这个方法里可以访问子类的属性。变量有两个类型:表面类型和真实类型。调用方法的时候,会根据方法拥有者的真实类型决定调用哪个方法。
转载
2013-09-27 17:33:00
448阅读
Java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。什么叫父类引用指向子类对象,且听我慢慢道来。从 2 个名词开始说起:向上转型(upcasting) 、向下转型(downcasting)。举个例子:有2个类,Father 是父类,Son 类继承自 Father。第 1 个例子: Father f1 = new Son(); // 这就叫 upcasting (向上
转载
2023-08-30 08:39:59
199阅读
java多态,如何理解父类引用指向子类对象
要理解多态性,首先要知道什么是“向上转型”。
我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过 Cat c = new Cat(); 实例化一个Cat的对象,这个不难理解。
但当我这样定义时: Animal a = new Cat(); 这代表什么意思呢?
转载
2023-07-19 09:44:44
114阅读
1. 简介Java的转型问题在父类引用指向子类对象时产生,可以划分为向上转型和向下转型。向上转型:父类引用指向子类对象向下转型:父类引用转换为子类引用(引用变量的声明类型发生变化) 2. 示例2.1 代码示例首先构造父类和子类,再进行向上转型和向下转型,代码如下:1 class Father {
2 public void speak(){
3 System.
## Java中父类引用指向子类对象的实现
在Java中,我们可以使用父类引用指向子类对象,这是面向对象编程中的一项重要特性。通过这种方式,我们可以实现多态,提高代码的可扩展性和灵活性。本文将详细介绍这一过程,并提供相应的示例代码。
### 实现步骤
下面是实现"Java父类引用指向子类对象"的步骤示意图:
| 步骤 | 描述 |
| ---- | ---- |
| 步骤1 | 创建一个父
原创
2023-07-22 10:34:36
74阅读
java 父类的引用指向子类对象时 为什么不能调用子类特有的方法?JAVASEMPER_FI 2015-04-18 15:10:47我建立了两个类子类为airplane 拥有一个fly()方法而父类transportation则没有这个方法package com.ljx;
public class initial {
public static void m
转载
2023-09-27 09:26:04
33阅读
# Java 子类指向父类
## 介绍
在Java中,子类可以通过继承父类来获得父类的属性和方法。子类可以通过父类的引用来指向父类的对象。这种情况下,子类实际上是通过父类的引用来操作父类的方法和属性。这种行为被称为“子类指向父类”。
在本文中,我将向你解释如何实现子类指向父类的步骤,并提供相应的代码示例。
## 实现步骤
下表是实现子类指向父类的步骤的简要概述:
| 步骤 | 描述 |
原创
2023-08-03 14:48:16
278阅读
Java多态的三个必要条件: 1、 继承 2、 子类重写父类方法 3、 父类引用指向子类对象 然后看一个例子 输出结果为: 给出结论:Father c = new Child() 在c的眼里只能看到 child 里面的 father 属性! 当满Java多态的三个条件时,可以发现c.eat()调用的
转载
2017-05-20 01:03:00
612阅读
2评论