返回顶部
首页 > 资讯 > 精选 >Java多态的使用方法是什么
  • 564
分享到

Java多态的使用方法是什么

2023-06-03 05:06:49 564人浏览 薄情痞子
摘要

本篇内容主要讲解“Java多态的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java多态的使用方法是什么”吧!一.再探向上转型(upcasting)  将某个objec

本篇内容主要讲解“Java多态的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java多态的使用方法是什么”吧!

一.再探向上转型(upcasting)

  将某个object reference视为一个“reference to base type“的动作,称为向上转型。

1.  Upcasting后调用某个函数时,如果derived class中覆写了该函数,则会调用derived class中的函数;否则,会调用base class中的函数。如

class First{

  public void prt(){

  System.out.println("First");

  }

}

class Second extends First{

  //(a)

  public void prt(){

  System.out.println("Second");

  }

}

public class ExplicitStatic{

  public static void main(String[] args){

  First n = new Second();

  n.prt();;

  }

}

结果为Second。如果当Second class中的prt()函数注释掉,将输出First。

2.  向上转型后只能调用base class中被derived class覆写的函数。

class First{

  public void prt(){

  System.out.println("First");

  }

}

class Second extends First{

  //(a)

  public void prt(){

  System.out.println("Second");

  }

  public void prt(int i){//(a)

  System.out.println("Second.i = " + i);

  }

}

public class ExplicitStatic{

  public static void main(String[] args){

  First n = new Second();

  n.prt(3);

  }

}

(a)处的函数只是Second class中的函数,所以不能通过n.prt(3)进行调用。

二.Abstract class和Abstract methods

1.  如果一个class中存在abstract class,则class也必须被声明为abstract class。

2.  abstract class不能被实例化。

3.  如果base class是一个abstract class,那么derived class必须实现base class中所有的abstract methods;否则,derived class也必须被声明为abstract class。

三.其它要点

1.  纯粹继承与扩充

纯粹继承:只有base class所建议的函数,才被derived class加以覆写。

扩充:除了覆写base class的函数,还实现了自己的函数

  abstract class First{

  public abstract void f();

  public abstract void g();

}

//纯粹继承

class Second extends First{

  public void f(){}

  public void g(){}

}

//扩充

class Third extends First{

  public void f(){}

  public void g(){}

  public void u(){}//base class不存在的函数

}

2.  向下转型

1)  向下转型时只能调用base class中被覆写过的函数

2)  只有本来就为derived class对象时才能正确向下转弄。

class First{

  public void f(){}

  public void g(){}

}

class Second extends First{

  public void f(){}

  public void g(){}

  public void u(){}

  public void v(){}

}

public class ExplicitStatic{

  public static void main(String[] args){

   First[] x = {new First(), new Second()};

  x[0].f();

  x[1].g();

  //!x[1].u();class First中不存在函数u()

  //((Second)x[0]).f();(a)

  ((Second)x[1]).u();

}

  }

  (a)处会抛出ClassCastException异常。

到此,相信大家对“Java多态的使用方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java多态的使用方法是什么

本文链接: https://lsjlt.com/news/232816.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java多态的使用方法是什么
    本篇内容主要讲解“Java多态的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java多态的使用方法是什么”吧!一.再探向上转型(upcasting)  将某个objec...
    99+
    2023-06-03
  • java实现多态的方法是什么
    Java实现多态的方法是通过方法的重写和方法的重载来实现的。方法的重写是指子类重写父类的方法,使得在调用该方法时,根据对象的实际类型...
    99+
    2023-10-26
    java
  • java多态的作用是什么
    Java中的多态性是面向对象编程的一种重要特性,其作用如下:1. 提高代码的灵活性和可复用性:通过多态性,可以将不同类的对象视为同一...
    99+
    2023-08-23
    java
  • java 多态是什么
    多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作: ·如果当前在 Flash 界面下弹出的就是 AS 3 的...
    99+
    2020-09-04
    java入门 java 多态
  • java多态是什么
    多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: (推荐学习:java课程)多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面...
    99+
    2015-05-12
    java入门 java
  • java多线程队列的使用方法是什么
    在Java中,可以使用BlockingQueue来实现多线程队列。BlockingQueue是一个线程安全的队列,它提供了put()...
    99+
    2023-10-24
    java
  • java中的静态方法是什么
    本篇内容主要讲解“java中的静态方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的静态方法是什么”吧!在java中,静态方法指被static修饰的成员方法。静态方法不需要通过...
    99+
    2023-06-20
  • java的多态机制是什么
    Java多态的实现机制是父类或接口定义的引用变量可以指向子类或实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实现对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。本质上多态分...
    99+
    2015-01-09
    java教程 java 多态机制
  • java多态的优势是什么
    今天就跟大家聊聊有关java多态的优势是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、好处(1)类调用者对类的使用成本进一步降低。封装是让类的调用者不需要知道类的实现细节。多...
    99+
    2023-06-15
  • java多态的概念是什么
    Java多态的概念是指子类对象可以以父类的类型进行引用和操作。多态性是面向对象编程的重要特性之一,它允许一个变量引用不同类型的对象,...
    99+
    2023-09-22
    java
  • Bootstrap模态框的使用方法是什么
    本篇内容介绍了“Bootstrap模态框的使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在本...
    99+
    2024-04-02
  • c#静态类使用的方法是什么
    静态类在C#中使用的方法与普通类类似,但有以下几点区别: 静态类不能被实例化,因此其成员方法必须是静态方法。 静态类的成员方法可以...
    99+
    2024-03-02
    c#
  • java中什么是静态方法和非静态方法
    本篇文章为大家展示了java中什么是静态方法和非静态方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的...
    99+
    2023-06-14
  • Java Runtime的使用方法是什么
    这篇文章将为大家详细讲解有关Java Runtime的使用方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言最近做项目框架,需要在框架结束的时候,关闭服务器连接,清除部分...
    99+
    2023-06-22
  • java pattern的使用方法是什么
    Java中的Pattern类是用于定义正则表达式模式的对象。它提供了一些方法来匹配、查找和替换字符串中的文本。使用Pattern类的...
    99+
    2023-09-27
    java
  • java callable使用的方法是什么
    在Java中,`Callable`接口是用于创建可返回结果并可能抛出异常的任务的一种方式。要使用`Callable`接口,您需要遵循...
    99+
    2023-10-25
    java
  • java classloader的使用方法是什么
    Java ClassLoader是Java虚拟机(JVM)的一个重要组成部分,用于加载Java类文件。ClassLoader负责将编...
    99+
    2024-04-09
    java
  • java多态机制是什么
    java多态机制是什么java中实现多态的机制是依靠父类或接口的引用指向子类。从而实现了一个对象多种形态的特性。其中父类的引用是在程序运行时动态的指向具体的实例,调用该引用的方法时,不是根据引用变量的类型中定义的方法来运行,而是根据具体的实...
    99+
    2020-02-04
    java入门 java 多态机制
  • java中多态的原理是什么
    今天就跟大家聊聊有关java中多态的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2...
    99+
    2023-06-14
  • Java中多态的优势是什么
    Java中多态的优势是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.向上转型。之前继承有提到过。父类引用指向子类对象。这时的引用只能调用子类覆盖重写了的方法,不能调...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作