继承

##4.1 继承的概述
在现实世界中,继承就是儿子得到老子的东西。在面对对象的世界中,继承就是一个类得到另一个类当中的成员变量与成员方法。
(1)多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可。
(2)多个类可以称为子类,单独这个类称为父类或者超类。
(3)子类可以直接访问父类中的非私有的属性和行为。
(4)通过 extends 关键字让类与类之间产生继承关系。

class SubDemo extends Demo{
...
}

(5)继承的出现提高了代码的复用性。
(6)继承的出现让类与类之间产生了关系,提供了多态的前提。
##4.2 继承的特点
(1)JAVA只支持单继承,不允许多继承,也就是说一个子类只能继承一个父类(一个儿子只有一个老子),即:
这里写图片描述
(2)Java支持多层继承(继承体系)

class A{}
class B extends A{}
class C extends B{}

定义继承需要注意:
• 不要仅为了获取其他类中某个功能而去继承
• 类与类之间要有所属( " is a " )关系。

package com.Extends;
public class Person {
	String name;
	int age;
	void speak(){
		System.out.println("我名字叫:"+name+",我会说话!");
	}
	void eat(){
		System.out.println("我的年龄有:"+age+"岁,"+"我会吃饭!");
	}
}
package com.Extends;
public class Student extends Person{//Student继承了Person,就可以直接使用Person中的变量与方法
	int grade;
	void study(){
		System.out.println("我爱学习!");
	}
}
package com.Extends;
public class Test {
	public static void main(String[] args) {
				Student student=new Student();
		student.name="张三";
		student.age=10;
		student.speak();
		student.eat();
		student.study();
	}
}

运行结果:
这里写图片描述
由输出结果可知:
①Student 类继承了Person类,此时Student类可以直接使用Person类中的变量与方法(子类不能继承Student中的构造函数!但可以使用super关键字调用父类中的构造函数),并且,Student 类还可以有自己变量与方法。
②“extend”在英语中是“扩展”的意思,不难理解,Student 类拥有自己变量与方法,并且继承了Student 类,这一过程就是扩展。

(2)为什么会使用继承?前面说到,面对对象程序设计的最终目标就是减少重复代码,继承便做到了这点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值