Java关于子类父类的继承问题

Java关于子类父类的继承问题

一. 继承的定义
在Java中,继承是让一个类获得另一个类的属性和方法。继承的是子类,被继承的被称为父类
继承的关键字是 extends ,在子类类名后直接使用extends + 父类类名即表示子类继承父类。
此外,Object是默认的父类,不含extends的类其也有默认的父类类名为Object,许多默认的方法在有时会有不小的作用
父类定义的属性和方法
子类直接调用父类的属性和方法
运行结果
这里子类创建的对象并没有定义属性和方法,但因为继承父类,所以可以直接调用,没有给属性赋值,所以输出结果为属性空

二. 访问权限的说明
访问权限的说明词有四种,每种都代表不同的权限,
public说明可以在任何情况下调用其定义的属性或方法(公共的);
private说明只能在当前类中调用其定义的属性或方法(私有的);
protected说明其定义的属性或方法在同一个包可以使用,不同包只有子类可以使用(受保护的);
缺省 说明其定义的属性或方法只在同一个包下可以使用(包权限,,缺省表示方法为无说明,例如直接定义String weidao,而不用任何说明)
子类在继承时要注意其权限是否可以访问,例如,我前面的例子中price是private权限
price是不可见的
提示报错,这样我们是无法使用private修饰的属性price的

三. 重写和转型

  1. 重写通俗的说就是当父类的方法不适用子类的要求,子类可以在重写父类定义的方法以满足自己的要求,但是在重写中,要注意方法的返回值类型、方法名、参数必须完全一样,访问权限可以扩大

    这里扩大了访问权限重新定义了方法
    在这里插入图片描述
    但是不能缩小访问权限

  2. 而对于转型来说会有如下几条原则:
    子类对象可以自动的变为父类对象;
    自动转型后,方法的调用以子类为准。
    将子类对象转化为父类对象格式
    可以看出调用的方法还是子类方法
    但是如果父类对象要转化成子类对象有一个先决条件是只有在父类对象是从相应的子类对象自动转型得到的,也就是说,一般的父类对象不可转换成子类对象,必须要是父类对象是从相应的子类对象自动转型得到的!

成功转换回子类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值