Java学习之子类(一):子类与父类

继承是一种由已有的的类创建新类的机制,由继承得到的类称为子类,被继承的类称为父类(超类),Java不支持多重继承,子类只能有一个父类

子类
通过使用关键字extends来定义一个类的子类,格式如下:
class 子类名 extends 父类名
{

}


class Student extends People
{

}

类的树形结构:
Java的类按继承关系形成树形结构(将类看作树上的结点),在这个树形结构中,根节点是Object类(Object是java.lang包中的类)。
Object类是所有类的祖先类,任何类都是Object类的子孙类
一个类可以有多个或零个子类,但是有且仅有一个父类(除了Object类)。
如果一个类(除了Object类)的声明中没有使用关键字extends关键字,那么这个类被默认为Object的子类。

子类的继承性:
类可以有两种重要的成员:成员变量和方法
1、子类中定义的实例方法如果不能操作父类的某个成员变量,那么该成员变量就没有被子类继承
2、子类让我们不用从头开始,可以继承父类的变量和方法
3、如果一个类和其父类在同一个包中,那么子类自然继承了父类中不是private的成员变量和方法作为自己的变量和方法,继承的变量和方法的访问权限保持不变
4、若一个类和其父类不再同一个包中,父类中的private和友好访问权限的成员变量不会被子类继承,子类只继承父类中的protected和public访问权限的成员变量和方法作为自己的成员变量和方法

对protected的进一步说明
一个类A中的protected成员变量和方法可以被它的子孙类继承
如B是A的子类,C是B的子类,D是C的子类
那么B,C,D都继承了A类中的protected成员变量和方法
1、如果用D类在D本身创建一个对象,那么该对象总是可以用过"."运算符访问继承自己定义的protected变量和protected方法的
2、如果在另外一个类中,例如在Other类中用D类创建了一个对象object,该对象有以下限制
(1)对于子类D自己声明的protected成员变量和方法,只要Other类和D类在同个包中,object对象就可以访问这些protected成员变量和方法
(2)对于子类D从父类继承的protected成员变量和方法,需要追溯到这些protected成员变量或方法所在的“祖先”类,例如可能在A类,只要Other类和A类在同个包中,object就能访问继承的protected变量和方法

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值