Java之继承

本人现在也是一直在学习Java基础 现在将日常的学习心得做成博客也方便自己以后回顾
继承是Java面向对象最显著的一个特征,关于Java继承网上的官方解释大多都是有点晦涩难懂
比如这个:这是在搜狗百科上面的继承的定义,但是概括的很准确
这个对于那些对继承知识早已烂熟于心的人来说,的确是很简单,但是对于新手小白来说就不那么友好了。我对于Java继承最大的认识就是,如果学会了他,那么就可以偷懒,所以在我眼中继承=偷懒。
首先我就先举个栗子,当然搜狗百科上面也是举了例子,那么我就换个栗子举:不知道大家有没有看过《西部世界》这部电视剧(美国拍的,很烧脑)他们讲的是一个真人游戏公司创建了一个游戏,里面都是克隆人,然后玩家只要支付钱就可以在里面为所欲为,里面不仅有克隆人,还有植物,动物等等等…。并且定期要进行游戏更新(添加一些人或者事物),他们想到一个人物,就要重新设计,就很麻烦(我猜他们应该也用到了继承)。
但是我们单从人这个角度来看,不管是男人,女人,还是小孩,他们都有一些共同的特征,比如他们都有眼睛,鼻子,嘴巴,耳朵,都有身体,都有属于人的一些特征,那么我们为何不能把这些特征都放到一个类里面,以后要用的时候就可以直接拿出来用就行了,比如这样子:
我们新建一个people(人)类,
————————————————————————————————
(第一次发,见谅)
package a;
//英语不好,所以在这里定义的都用拼音
public class people {
String jiao;
//脚
String sho;
//手
String bizi;
//鼻子
String zuiba;
//嘴巴
String erduo;
//耳朵
}
————————————————————————————————
这里我们已经在里面新建了一个people类,里面包含了一些正常人都有的东西,那么我们接下来就在新建一个类,就是创建一个人物,我们就叫它,小帅吧,我们先分析一下小帅人如其名,长得很帅,然后身高180cm,有一头黑发,暂时就这么多吧,在没有这个人类前。我们是不是还要在定义鼻子嘴巴什么巴拉巴拉的东西,但是现在我们不需要这么麻烦,我们就只要这么做就行:
———————————————————————————————
package a;
public class xiaoshuai extends people{
int age=19;
int shenggao=180;
String name=“小帅”;
String xiangmao=“帅”;
String tofa=“一头黑发”;
}
———————————————————————————————
这样子就行了,可能会看到这个xiaoshuai方法里面多了两个单词,extends people,意思就是继承了people类,换句话说,people就是xiaoshuai类的父类。有了这两个单词以后,我们在接下来的测试类中就可以在xiaoshua的方法里面愉快的调用peop类啦!(测试类就不写了),这样子就可以少敲好多代码了,在做一些大型项目的时候,继承用的很广泛。
我们来总结一下:如果我们在一个项目需要建立很多类,但是这些类中又有一些共同的特征,那么我们就可以使用继承,被继承的类我们称为父类,继承的类我们称为子类,继承的关键词为extends.
这里有一点注意的:一个子类只能继承一个父类,但是一个父类可以有很多子类(相当于一个儿子只能有一个爸爸(这里是指亲爹),但是一个爸爸可以有很多个儿子)就是这样子。
这些都只是继承的基础,当然还有很多其他的关于继承的知识(比如方法重写什么的)。
第二个注意:因为是publi,所以子类与父类的继承能任何地方进行,但是protected(本包),private(本类)就分别只能在本包内和本类内继承(这是关于包的知识)
注:个人笔记用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java是一种面向对象的编程语言,面向对象的三大特征是封装、继承和多态。继承和多态是面向对象编程中非常重要的概念,下面将详细介绍它们。 继承是指创建一个新类,从已有的类中派生出来,新类具有与父类相同的属性和方法。在Java中,使用关键字`extends`来实现继承,即在新类的声明中,加上`extends`关键字,后面跟上父类的名称。示例如下: ``` public class Animal { public void eat() { System.out.println("动物吃东西"); } } public class Dog extends Animal { public void bark() { System.out.println("狗叫"); } } ``` 在上面的示例中,`Dog`类继承了`Animal`类,因此它可以使用`Animal`类中的`eat()`方法,同时还有自己的`bark()`方法。 多态是指同一种类型的对象,在不同的情况下会表现出不同的行为。在Java中,多态通过方法重载和方法覆盖来实现。方法重载是指在同一个类中定义多个方法,它们具有相同的名称但参数列表不同。方法覆盖是指子类重写父类的方法,使得子类的方法覆盖了父类的方法。示例如下: ``` public class Animal { public void eat() { System.out.println("动物吃东西"); } } public class Dog extends Animal { public void eat() { System.out.println("狗吃肉"); } } public class Cat extends Animal { public void eat() { System.out.println("猫吃鱼"); } } ``` 在上面的示例中,`Dog`和`Cat`类都重写了`Animal`类中的`eat()`方法,使得它们的行为不同。当我们创建`Animal`、`Dog`和`Cat`对象时,调用它们的`eat()`方法时会表现出不同的行为,这就是多态的体现。 继承和多态是面向对象编程中非常重要的概念,它们可以让代码更加灵活和易于维护。在实际的编程中,我们需要灵活运用它们来设计出合理的类结构和方法结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值