Java中的继承以及访问限权

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


Java中的继承

学生类:
属性:姓名、学号、成绩、年龄
方法:学习
大学生类:
属性:姓名、学号、成绩、年龄、专业
方法:学习
这里可以看到大学生生是学生中的一个子类,多出来 专业 这一属性,这时我们使用
继承:能让一个(子)类拥有另一个(父)类的属性和方法。
关键字:extends
格式: public class 子类名 extends 父类名{ }
extends:子类在父类的基础上,对属性或者方法进行扩展,得到的新类。

Object是java中所有类的父类,所以我们可以使用这个类里面的方法。


一、在继承中存在重写和自动转型两个方面

重写:父类的方法不能满足子类的需要,这时子类可以覆盖父类的方法。
要求: 1、必须有继承关系
2、父类方法的访问权限在子类中可见。
3、方法声明,访问权限可以扩大,方法的返回值类型、方法名、参数必须一样。
例如:`
package First;

public class Hero {
public int blood;
public int Attackvalue;
public String name;

public void attack(Hero h) {
	h.blood -= Attackvalue;
	System.out.println(name+"攻击了"+h.name+"造成了"+Attackvalue+"伤害,还剩余"+h.blood+"血量");
}

}
package First;

public class zhuzai extends Hero{
/* public int blood;
public int Attackvalue;
public String name;

public void attack1(Gongsunli g) {
	g.blood -= Attackvalue*2;
	System.out.println(name+"攻击了"+g.name+"造成了"+Attackvalue*2+"伤害,还剩余"+g.blood+"血量");
}

/
public void attack(Hero m) {
m.blood -= Attackvalue
2;
System.out.println(name+“攻击了”+m.name+“造成了”+Attackvalue*2+“伤害,还剩余”+m.blood+“血量”);
}

}
注意:这里重写了父类中的attack()方法!!!
自动转型
自动转型:子类对象可以自动的变为父类对象。
自动转型后,方法的调用以new后的类名为准。
例如:UNStudent stu = new Student();

二、继承中的访问限权

2、访问权限
控制被修饰的内容,能在哪些范围使用。
当前类中 同一个包下的类 不同包下的子类 其他
public ok ok ok ok
所有范围都可以使用
protected ok ok ok X
所有的子类可以使用
缺省 ok ok X X
包权限,仅限同一个包下使用
private ok X X X
私有的,只有自己可以使用

子类继承父类,能拥有父类哪些属性和方法?
子类继承父类,能拥有父类所有的属性和方法,但是部分属性和方法限于访问权限,不能直接使用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值