首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Java中的多个基类继承?

如何从Java中的多个基类继承?

提问于 2018-03-13 17:04:04
回答 2关注 0查看 226

我知道我们可以使用接口从多个类继承,但是可以继承状态吗?

回答 2

青之软件

发布于 2018-03-14 02:04:43

如果你确定你关心的方法在接口中,那么你可以有一个实现接口的类,然后委托给“超类”的实例:

代码语言:javascript
运行
AI代码解释
复制
interface Noisy {
  void makeNoise();
}


interface Vehicle {
  void go(int distance);
}

class Truck implements Vehicle {
  ...
}

class Siren implements Noisy {
  ...
}

class Ambulance extends Truck implements Noisy {
  private Siren siren = new Siren();

  public makeNoise() {
    siren.makeNoise();
  }

  ...
}

为啥吃兔兔

发布于 2018-03-14 01:24:42

Java中不允许多继承,方法如下:

代码语言:javascript
运行
AI代码解释
复制
public interface AInterface {
        public void a();
}
public interface BInterface {
    public void b();
}

public class A implements AInterface {
    public void a() {}
}
public class B implements BInterface {
    public void b() {}
}

public class C implements AInterface, BInterface {
    private A a;
    private B b;

    public void a() {
        a.a();
    }
    public void b() {
        b.b();
    }
}
和开发者交流更多问题细节吧,去 写回答
相关文章
C# 继承 基类和派生类基类的初始化C# 多重继承
继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。
酱紫安
2020/07/24
4.9K0
C++中基类私有成员会被继承吗
在类的继承中,类的私有成员在派生类中是“不可见“的,这种”不可见“是指在派生类的成员函数中,或者通过派生类的对象(指针,引用)不能直接访问它们。但是,不能直接访问并不代表不能访问。在派生类还是能够通过调用基类的共有函数的方式来间接地访问基类的私有成员,包括私有成员变量和私有成员函数。考察如下程序。
恋喵大鲤鱼
2018/08/03
2.5K0
c++继承 基类 派生类 虚函数
类和类的关系有组合、继承和代理。继承的本质就是代码复用。子类继承父类中的一些东西,父类也称为基类,子类也称为派生类。派生类继承了基类除构造函数以外的所有成员。
用户7886150
2021/02/03
1.3K0
java中类中多个Synchronized方法
下面给出一个例子,说明一个class中有两个方法synchronized的情况。它们互相阻挡的用法和上面的“一个方法有synchronized”的情况是一样的。
马克java社区
2021/04/23
1K0
java中类中多个Synchronized方法
Java类是如何默认继承Object的?
学过Java的人都知道,Object是所有类的父类。但是你有没有这样的疑问,我并没有写extends Object,它是怎么默认继承Object的呢?
编程大道
2019/07/15
1.9K0
Java类是如何默认继承Object的?
C++虚拟继承与虚基类
C++虚拟继承一般发生在多重继承的情况下。C++允许一个类有多个父类,这样就形成多重继承。多重继承使得派生类与基类的关系变得更为复杂,其中一个容易出现问题是某个基类沿着不同的路径被派生类继承(即形成所谓“菱形继承”),从而导致一个派生类对象中存在同一个基类对象的多个拷贝。
恋喵大鲤鱼
2018/08/03
9710
C++虚拟继承与虚基类
浅谈数字IC验证中的面向对象编程(抽象基类和继承)
在软件工程的早期,人们与项目的复杂性增长和大型开发团队的管理挑战进行了艰巨的斗争,面向对象编程(OOP)为解决这些问题带来了革命性的解决方案。
AsicWonder
2020/06/24
1.1K0
浅谈数字IC验证中的面向对象编程(抽象基类和继承)
【Example】C++ 虚基类与虚继承 (菱形继承问题)
C++ 是支持多继承的语言,但是实际项目开发中非必要请避免使用多继承以降低代码逻辑的复杂性。
芯片烤电池
2022/04/27
1.1K0
Java继承类中static成员函数的重写
在java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行。 也就是说,虽然你可以定义一个重写函数,但是该函数没有多态特性。让我们测试一下: 1 class testClass1{ 2 static void SMothod(){ 3 System.out.println("static in testClass1"); 4 } 5 } 6 class testCla
老白
2018/03/19
1.9K0
Python中类的继承、多层继承和多继承
继承的语法为在类名后的小括号()中写入要继承的父类名,如果要继承多个类则中间用逗号分隔。
Python碎片公众号
2021/02/26
5.8K0
Python中类的继承、多层继承和多继承
Java:类与继承
  对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是本文的目录大纲:
Java团长
2018/08/06
7680
Java:类与继承
对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是本文的目录大纲:
用户9009614
2021/11/10
5990
Java:类与继承
Java:类与继承
对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是本文的目录大纲:
Java团长
2018/07/23
7490
Java:类与继承
java.lang包中不能被继承的类
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147184.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
5030
C++基类私有成员会被继承吗
在类的继承中,基类私有成员在派生类中是“不可见“的,这种”不可见“是指在派生类的成员函数中,或者通过派生类的对象(指针,引用)不能直接访问它们。但是,不能直接访问并不代表不能访问。在派生类还是能够通过调用基类的共有函数的方式来间接地访问基类的私有成员,包括私有成员变量和私有成员函数。考察如下程序。
恋喵大鲤鱼
2019/02/22
2.5K0
从零开始学C++之继承(三):多重继承、虚继承与虚基类
该文讲述了多重继承和虚继承中关于基类成员重复构造和虚继承成员访问的问题以及解决方案。
s1mba
2017/12/28
1.2K0
从零开始学C++之继承(三):多重继承、虚继承与虚基类
Java中的String类能否被继承?为什么?
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。 Java对String类的定义: public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // 省略...  } final修饰符的用法: 1.修饰类   当用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的
nnngu
2018/03/15
2K0
Java中的String类能否被继承?为什么?
Java入门(9.1)-- 类的继承
继承机制下,可以复用一些定义好的类,减少重复代码的编写;多态机制下,可以动态调整对象的调用,降低对象之间的依存关系。为了优化继承与多态,一些类除了可继承父类外,还需要使用接口的形式,Java中的类可以同时实现多个接口,接口被用来建立类与类之间关联的标准。
爱学习的程序媛
2022/04/07
3950
Java入门(9.1)-- 类的继承
Java 类的封装、继承、多态
// 封装、继承、多态 class Person1{ String name; int age; private int height;// 私有 封装 public Person1(String name, int age) { this.name = name; this.age = age; } public void talk() { System.out.println("This is
Michael阿明
2021/09/06
7640
Python中的类、对象、继承
上述访问级别更多的是一种编程约定,即便是以双下划线开头的字段,在类的外部也是可以访问的,但不建议这么做。示例代码如下:
雪飞鸿
2018/09/05
2.5K0
Python中的类、对象、继承

相似问题

CSS类可以继承一个或多个其他类吗?

2509

同是接入多个云服务的SDK主类无法继承?

1340

Python类继承对象?

1285

Java中继承的特点是什么?

1143

如何删除多个类(jQuery)?

2598
相关问答用户
某公司 | 程序员擅长1个领域
腾讯云TDP | 先锋会员擅长2个领域
擅长2个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档