在java中继承的资源(java里的继承)

本文目录一览:

什么是继承,试说明在java中实现多继承的方法

JAVA里没有多继承,一个类之能有一个父类。

而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不一样了,这就是多态,相同的消息(也就是调用相同的方法)会有不同的结果。举例说明:

//父类

public class Father{

//父类有一个打孩子方法

public void hitChild(){}

}

//子类1

public class Son1 extends Father{

//重写父类打孩子方法

public void hitChild(){

System.out.println(“为什么打我?我做错什么了!”); }

}

//子类2

public class Son2 extends Father{

//重写父类打孩子方法 public void hitChild(){

System.out.println(“我知道错了,别打了!”); }

}

//子类3

public class Son3 extends Father{

//重写父类打孩子方法 public void hitChild(){

System.out.println(“我跑,你打不着!”); }

}

//测试类

public class Test{

public static void main(String args[]){

Father father;

father = new Son1();

father.hitChild();

father = new Son2();

father.hitChild();

father = new Son3();

father.hitChild();

}

}

都调用了相同的方法,出现了不同的结果!这就是多态的表现!

2.JAVA中没有多继承,而用接口实现了多继承!一个类或是可以同时实现多个接口!(就相当于C++里一个类同时继承了多个类!)例如:

public class Son implements Father1,Father2,Father3{

}

接口有利于代码功能的扩展(增加新的功能)!而继承则有利于代码功能的修改(把旧的功能改成新的功能)!这里旧功能的修改和新功能的增加前提是不修改旧的功能,旧的功能仍然可以使用!旧类的代码也不做修改!

接着上面的继承举例:上面例子中的子类我们统称为一代子类

1.用继承修改旧的功能。

现在如果一代Son1的功能打孩子,也就是方法hitChild()里边的功能实现有问题,我们要把具体实现修改掉,那么我们可以重新写一个新的二代子类Son11继承自一代子类Son1,并重写其hitChild()方法。

//二代子类

public class Son11 extends Son1{

//重写父类打孩子方法

public void hitChild(){ System.out.println(“我是二代子类对此方法的新实现”);

}

}

2.用接口实现增加新的功能。

现在类Son1已经有了‘打孩子’功能(也就是方法),而我们有了新的需求,我们需要它还要有一个新的功能‘宠孩子’(新方法pet();)。而旧的代码不能动!那么我们可以定义一个新的接口(PetInterFace),接口里定义这个方法pet()的声明。再重新写一个二代子类Son11,让它先继承类Son1,同时实现接口 PetInterFace!并实现接口里的 pet()方法!

//新接口

public interface PetInterFace{

//新功能方法 public void pet();

}

//二代子类

public class Son11 extends Son1 implements PetInterFace{

//实现接口方法

public void pet(){

System.out.println(“父亲很爱我!”);

}

}

这样这个二代子类即有了老的方法,又有新的功能!

解释一下Java中的继承,都继承到什么了

java是面向对象的编程语言,是类构成了java语言,而继承又是java必不可少的,继承就是当你写一个类时,虽然这个类满足了某些功能但是你又想拓展它的功能,此时你就可以使用继承机制在写一个该类的子类,来完成你需要的功能,一旦子类继承了父类…

JAVA中是继承不能实现资源共享而接口可以实现资源共享吗?

接口内部变量默认为public属性,所以实现这个接口的类,是能完全访问接口内变量的。

某种程度达到了你的要求。

另外,如果类内对象定义为protected属性,那么继承的手段也能完全资源共享

关于Java 的继承问题,子类会继承父类的哪些东西?

父类和子类的问题:

确认父类的方法是否使用了private修饰

并非所有的父类方法都可以被子类继承的。

其次确认子类继承父类时,是否有import

父类

【无法找到继承的对象】感觉像是没有import

编译的时候,查找的是class文件。所以父类只有class是可以的。但是需要放在同一个工程中

你说的第二个问题?好像是实现不了。父类调用子类的方法是掉不到的

想实现这个就得依靠接口了

java中的继承

当然有

fathera=newson是属于父类引用指向了子类对象,java把这种把子类对象赋给父类引用变量称之为向上转型

区别:给你举个例子

比如,father类有一个eat()方法,son类继承了father类,也就拥有了eat()方法,并同时定义了自己的方法drink().如果是fathera=newson,则你只能调用属于father的方法eat(),而不能调用son的方法drink().也就是说虽然变量a指向了对象son,但由于它编译时的类型是father,所以它不能调用属于son的方法,尽管变量a运行时的类型是son.

而sona=newson中的a则可以调用属于它自己的方法drink().和它继承的方法eat(),因为a这个引用变量编译时的类型和运行时的类型都是son.

再说的大众些,fathera=newson是以父亲的角度看儿子,由于父子之间有继承关系,你是创造了一个儿子对象并把它当父亲用,所以你只能调用属于父亲的方法,而sona=newson就是你是创造了一个儿子对象并把它当儿子,所以你可以调用属于儿子的方法和他所继承父亲的方法

以后你理解了多态以后,就好理解这个问题了

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/259476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 16:29
下一篇 2024-12-15 16:29

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python飞机大战中文字资源分析

    Python飞机大战是一款经典的飞行射击游戏,在游戏过程中,玩家需要控制一架飞机不断消灭敌人,生存到最后。该游戏使用Python语言编写,其中涉及到的文字资源对游戏的整体体验有重要…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论