java:举例说明继承的概念(java继承的基本概念)

createh52个月前 (01-21)技术教程27

在现实生活中,继承一般指的是子 女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,波斯猫和巴厘猫继承自猫,而沙皮狗和斑点狗集成自狗。

这些动物之间会形成-一个继承体系,具体如图所示。

在Java中,类的继承是指在一个现有类的基础上去构建一个新的类, 构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。在程序中,如果想声明一个类继承另一个类, 需要使用extends关键字。接下来通过一一个案例来学习子类是如何继承父类的,如下所示。

//定义Animal类
class Animal {
String name; //定义name属性
//定义动物叫的方法
void shout() {
System. out.println("动物发出叫声");
//定义Dog类继承Animal类
class Dog extends Animal {
//定义一个打印name的方法
public void printName(){
System. out . println ("name=" + name);
)
//定义测试类
public class Example01{
public static void main(Stringt) args) (
Dog dog=new Dog();     //创建一个Dog类的实树对象
dog.name=“沙皮狗”:     //为Dog类的name属性进行赋值
dog.printName();       //调用dog类的getInto(方法
dog. shout() ;       //调用dog类继承来的shout()方法
}
}

运行结果如下

name=沙皮狗
动物发出叫声

Dog类通过extends关键字继承了Animal 类,这样Dog类便是Animal类的子类。从运行结果不难看出,子类虽然没有定义name属性和shout()方法,但是却能访问这两个成员。这就说明,子类在继承父类的时候,会自动拥有父类所有的成员。

在类的继承中,需要注意-些问题, 具体如下。

1.在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类,

例如下面这种情况是不合法的。

class A{ }
class B{ }
class C extends A,B{} // C类不可以同时继承A类和B类

2.多个类可以继承-一个父类,例如下面这种情况是允许的。

class A{}
class B extends A{}
class C extends A{} // 类B和类C都可以继承类A

3. 在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。例如下面这种情况是允许的。

class A{}
class B extends A{} // 类B继承类A,类B是类A的子类
class C extends Bl{} // 类C继承类B,类C是类B的子类,同时也是类A的子类

4.在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。例如上面的示例中,B类是A类的子类,同时又是C类的父类。

相关文章

Kafka 的生成者、消费者、broker 的基本概念

kafka是一款基于发布与订阅的消息系统。它一般被称为“分布式提交日志”或者“分布式流平台”。文件系统或者数据库提交日志用来提供所有事物的持久化记录,通过重建这些日志可以重建系统的状态。同样地,kaf...

定义自己的函数--Java中的Function

我们可能遇到过这样的需求,要在项目中使用数学计算或变换。那么,在Java中,如何优雅的定义这样的数学函数呢?Function其实Java已经自带了Function类来助我们完成这样的需求。可以看到,F...

如何写好一个Java方法?(怎么写java)

什么样的方法才是最好的方法要回答这个问题,我们首先要确定的是我们需要什么样子的方法。无论我们出于什么样子的目的产生对方法的需求,我可以说精准地满足我们需求的方法就是好方法。精准的含义是不过也不少。那么...

如何在 Java 中定义一个内部类?(java用内部类声明对象)

在Java中,内部类是一个定义在另一个类内部的类。内部类可以是静态的或非静态的。下面是如何定义内部类的例子:public class OuterClass { // 非静态内...

Java定义数组(java定义数组的三种方式)

Java定义数组描述Java 数组 的定义格式分别为:静态初始化、动态初始化。题目使用静态初始化和动态初始化 定义数组。题目解决思路静态初始化分为两种格式分别为:a. 数据类型[] 数组名称 = ne...

带你认识Java——这一语言(java是什么语言的一个实例)

1、JavaJava是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象...