Java从入门到精通——Java继承
小职 2020-12-22 来源 :Java进阶学习交流 阅读 620 评论 0

摘要:本篇主要介绍了Java继承、以及Java继承需要注意的问题,希望对Java的学习有所帮助。

本篇主要介绍了Java继承、以及Java继承需要注意的问题,希望对Java的学习有所帮助。

Java从入门到精通——Java继承

一、继承的概念

 

1.什么是继承

 

在现实生活中,继承指的是子女继承父辈的财产。在程序中,当一个类A能够得到另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分时,我们就叫做这两个类之间具有继承关系。

 

2.例如猫、狗、兔、猪都属于动物,在程序中猫、狗、兔、猪都继承动物。波斯猫和英国短毛猫继承猫,这些动物会形成一个继承体系。在程序中继承在现有的类基础上创建一个新的类,创建一个新的类叫做子类,现有类叫做父类或超类,子类会拥有父类所有可继承的属性和方法。

 

3.继承的实现

 

① 确定父类。

 

② 定义子类。

 

[类修饰符]  class 子类名 extends 父类名

子类能够继承父类所有非私有的属性和方法。

 

③ 实现子类的功能。

 

4.类是如何继承父类案例一

 

//定义Fruit水果类

class Fruit{

    public double weight;//重量属性

    //info()方法

    public void info(){

            System.out.println("我是一个水果,重量为" + weight + "g!");

    }

}

public class Apple extends Fruit{

    public static void main(String[] args){

            Apple a = new Apple();//创建对象

            a.weight = 87;//给weight属性赋值

            a.info();//调用info方法

    }

}

输出的结果是:

 

我是一个水果,重量为87.0g!

从上面代码中,我们可以看出定义了一个Fruit类,在Fruit类中定义了weight属性和info方法。Apple类继承Fruit类,创建对象实例化,然后给weight属性赋值,调用info方法。

 

5.类是如何继承父类案例二

 

class Animal{

    public String name;//名字属性

    public int age;//年龄属性

    //动物叫的方法

    void shout(){

        System.out.print("喵喵喵~~~");

  }

}

//定义Cat继承Animal类

class Cat extends Animal{

    //显示名字和年龄方法

    public void show(){

        System.out.print("我是"+name+","+"今年"+age+"岁");

  }

}

public class p20 {

public static void main(String[] args) {

    // TODO Auto-generated method stub

    Cat c=new Cat();//创建Cat类实例对象

    c.name="英国短毛猫";//给Cat类的name属性赋值

    c.age=2;//给Cat类的age属性赋值

    c.show();//调用Cat类的show()方法

    c.shout();//调用Cat类的shout()方法

  }

}

输出的结果是:

 

我是英国短毛猫,今年2岁喵喵喵~~~

在上面代码中,首先是定义了一个Animal类,Cat类使用extends继承Animal类.,使得Cat类是Animal类的子类,Animal作为一个父类。我们便发现在子类并没有定义name、age属性和shout()方法,可以访问到它们非私有属性和方法。说明了子类是可以拥有父类的所有非私有的属性和方法。

 

二、继承需要注意的问题

 

1.单重继承是指任何一个类都只有一个单一的父类。

 

例如:

 

class A1{

    void show(){

    System.out.println("A1");

    }

}

class A2{

    void show(){

    System.out.println("A1");

}

class B extends A1,A2{

    public void show(){

    System.out.println("bbb");

    }  

}

在上面代码中是不合法的,任何一个类只有支持单继承,不可以多重继承。也是就B类是不可以同时继承A1和A2。如果B b=new B(),那么b.show()是调用哪个一个父类方法呢?无法给出答案,所以是不能多重继承。

 

2.多重继承是指一个类可以有一个以上的父类,它的静态的数据属性和操作从所有这些父类中继承。

 

3.多个类可以继承一个父类。

 

例如:

 

class A{}

class B extends A{}

class C extends A{}

在上面代码中是合法的,B类和C类都可以继承A类的所有非私有属性和方法。

 

4.一个类的父类可以去继承另外的父类,这就是多层继承。

 

例如:

 

class A{}

class B extends A{}

class C extends B{}

在上面代码中,实现了多层继承B类继承A类,B类是A类的子类,C类继承B类,C类是B类的子类,C类也是A类的子类。在一个类是某个类父类的同时,也是另一个类的父类。例如B类是A类的子类,也是C类的父类。

 

三、总结

 

本文主要介绍了继承、继承需要注意的问题。继承是当一个类A能够得到另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分时,我们就叫做这两个类之间具有继承关系。

 

继承的实现方法,通过两个案例帮助理解继承的用法。继承是只支持单继承,不支持多重继承。多个类可以继承一个父类。一个类的父类是可以继承另外的父类。希望大家通过本文的学习,对你有所帮助!



关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习视频资料、技术就业咨询。

Java从入门到精通——Java继承

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程