黑马程序员——面向对象-继承



面向对象有个很重要的关系叫继承,什么是继承?


class Student{
	String name;
	int age;
	public void xueXi(){
		System.out.println("学习");
	}
}

class Worker{
	String name;
	int age;
	
	public void work(){
		System.out.println("工作");
	}
}

这有两个类,他们都有相同的成员变量,可是写在两个类中就显得多余,这个时候就可以用继承来简化


class Person{
	String name;
	int age;
}

class Student extends Person{
	
	public void xueXi(){
		System.out.println("学习");
	}
}

class Worker extends Person{
	public void work(){
		System.out.println("工作");
	}
}


我们将学生类和工人类的相同属性抽取到人类中,不同的类进行单独描述,然后让这两个单独的类继承这个人类就可以了(如上面代码所示继承的关键字是extends)


继承的特点:

1.提高代码的复用性

2.让类与类之间产生了关系,有了这个关系,才有了多肽的特性



这里需要注意的是:千万不要为了获取其他类的功能,简化代码而继承

必须是类与类之间有所属关系才可以继承,所属关系为 is a (意思为是一个什么,例:那个动物是一只狗。所以他就应该继承狗类)


java语言中,java只支持单继承,不支持多继承

因为多继承容易带来安全隐患,当多个父类中定义了相同的功能,当功能内容不同时,,子类对象不确定运行哪一个

但是java保留了这种机制,并用另一种体现形式来完成表示多实现


java继承多层继承,也就是一个继承体系

如何使用一个继承体系中的功能呢?


想要使用体系,先查阅体系父类的描述,因为父类中定义的是体系中的共性功能。

通过了解共性功能就可以知道体系的基本功能

那么这个体系已经可以基本使用了

那么在具体调用时,要创建最子类的对象,为什么呢?

一是有可能父类不能创建对象

二是创建子类对象可以使用更多的功能,包括基本的也包括特有的


简单说就是查阅父类功能创建子类对象使用功能




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值