类的继承

1.Java的继承语句格式

继承关键字:
extends
格式:
访问权限 class 子类名 extends 父类名{

}
说明:Java中的继承是单继承(一个子类只能继承一个父类)

2.子类继承到的父类的属性与方法

Java访问修饰符及其可被访问范围
private 在该类的{}中
默认的 同一个包下的任何类中
protected 在同一个包和不同包下的子类的{}中
public 同一工程中的任何类

子类继承父类后,子类就继承了父类所有的方法和属性。子类和子类对象能够直接调用的方法和属性分两种情况:
1.在同一包下:
1.私有的属性、方法和构造方法不能被子类和子类对象直接调用
2.默认的,受保护的和公有的属性和方法都可以被子类和子类的对象直接调用
2.在不同包下:
1.在子类的{}中,只有公有的,受保护的属性和方法能够被直接调用
2.子类对象调用方法时,只有公有的属性能够被调用

3.使用继承的好处:

1.提高代码的重用性 2.提高代码的扩展性

4.方法重写

1.必须存在一个继承关系
2.子类重写父类方法,子类重写方法的访问修饰符,方法名,返回值类型,参数都必须与父类方法相同,只有方法体不同。

重写后的方法调用时:
1.new 关键字后面的构造方法是那个类就调用那个类中的方法。
2.创建子类对象时,该对象会优先调用子类中的方法,子类中没有该方法时才会调用父类中的方法。

实现继承后,子类也可以重载父类中的方法

5.自动转型

定义方法和声明变量时,可用父类的类型来代替它所有的子类,实现自动转换。
要实现自动转型,必须存在继承。实现自动转型,可减少重复代码的编写。但是使用自动转型之后,不能调用子类中定义的方法。这是由于Java的编译机制引起的,Java编译时会根据对象名的类型,去该类中查找方法,方法存在编译,不存在就报错。

代码实例:
父类:People 子类:Bandit,Police
//创建对象
Police po=new Police();
Bandit ban=new Bandit();
People pol=new Police(); //自动转换
Bandit ba=new People();
//方法
父类中定义的方法:
public void hit(People po, Tool tl){
po.blood-=tl.attact;
System.out.println(name+"使用"+tl.name+"攻击;"+po.getName()+"血量减"+tl.attact);
}
子类对象对父类的方法进行调用:
ban.hit(po,knife);//调用继承的父类的方法,参数实现了自动转换(父类中的参 数为People类,po为Police)
子类中定义的方法:
public void arrest(){
System.out.println("土匪拒接投降!");
}
子类对象对子类中定义的方法进行调用
ba.arrest(); //若创建ba时,使用People ba=new Bandit();则在此处调用arrest()方法会报错
6.多态

Java的多态由方法重载,继承,方法重写,自动转换等技术引起。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值