Java三大特性之继承




什么是继承?以及它的作用

如果现在有一个Dog(狗)类和Lion(狮子)类

public class Dog{
	//属性
	public String name; //名字
	public int age;//年龄
	public String strain;//品种

	//方法
	public void run(){}//跑
}
public class Lion{
	public int age;//年龄
	public String strain;//品种
	
	//方法
	public void run(){}//跑
	public void hunt(){}//捕猎
}

其中两个类中 属性:年龄、品种和方法:跑 都有重复,不符合设计理念“低耦合高内聚
那就可以使用继承来实现,它的作用就是为了减少代码重复率,增加复用性



继承的使用方法

为他们创建一个父类,用来写入共有的属性和方法

//定义一个Animal(动物)类
public class Animal{
	//共有的属性
	public int age;//年龄
	public String strain;//品种
	
	//共有的方法
	public void run(){}//跑
}

然后只在子类(狗类和狮子类)中声明自己特有的属性和方法,使用extends关键词继承父类(动物类)

public class Dog extends Animal{
	//特有的属性
	public String name;//名字

	//狗没有特有的方法
}
public class Lion extends Animal{
	//这里狮子没有特有的属性
	
	//特有的方法
	public void hunt(){}//狩猎
}

这样子类就可以通过super关键字调用父类中的属性和方法啦
注意事项:
1.子类与父类必须符合“子类是一个父类”的逻辑关系
   比如:苹果是一个水果,狗是一只动物,学生是一个人;
   错误的是:水果是一个苹果?动物是一只狗?人是一个学生?

2.父类的私有属性和方法子类无权继承
   父类的构造方法子类无权继承但可以调用
   当父类与子类不在同一个包时,friendly(默认)权限的属性和方法无权继承




super关键字的用法

1.调用父类无参构造时,使用super();
   调用父类有参构造时,使用super(参数);
注意:super在调用构造方法时必须处于方法体第一行
2.调用父类属性时,使用super.属性名;
3.调用父类方法时,使用super.方法名();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值