1,直接用基指针引用基对象 2,直接用派生指针引用派生对象 3,用基指针引用一个派生对象,由于派生对象也是基对象,所以这种引用是安全的, 但是只能引用基成员。若试图通过基指针引用那些只在派生中才有的成员,编译器会报告语法错误。(解决该问题的答案是虚函数和多态性) 4,用派生指针引用基对象。这种引用方式会导致语法错误。派生指针必须先强制转换为基指针,这种方法是不安全
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月前
20阅读
例如: 有以下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{
## Java this 指针指向子类对象Java 中,`this` 关键字是一个非常重要的概念,它指向当前对象的引用。特别是在继承的上下文中,`this` 指针的指向可能会引起一些细微却有趣的现象。本文将讨论“的 `this` 指针指向子类对象”的现象,并通过代码示例进行详细阐释。 ### 理解 `this` 的指向Java 中,当子类继承时,子类可以访问中的
原创 23天前
22阅读
# 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 (向上
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.
转载 8月前
86阅读
## 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
# 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评论
  • 1
  • 2
  • 3
  • 4
  • 5