类之间的关系

类之间的关系

继承(纵向关系):

java中只允许单继承,可以使用接口实现多继承。
被继承的类称为父类,继承父类的类叫做子类。继承后,子类将获得父类的所有属性和方法,父类的私有成员也可以被子类继承,但子类不能访问,子类也有自己的属性和方法。一个类继承另一个类,也称为泛化,体现共性与特性的关系。
语法:class subClass(子类) extends baseClass(父类,默认的父类为Object){//类体}
子类对象:创建时先创建父类空间,再创建子类空间,并初始化为默认值。执行时先执行父类的初始化和构造函数,再执行子类的初始化和构造函数。
域的隐藏:子类与父类变量重名,子类的域将屏蔽父类的域,父类域存在,只是优先访问子类的,如果访问父类的,加super
方法的重写:子类与父类方法重名,方法名、参数数量与类型完全相同,子类方法把父类方法覆盖,没有父类的方法了。
重写和重载是面向对象多态性的两大体现。
类型的转换:子类对象可以看作是父类对象,但是父类对象不能看作是子类对象。函数参数是父类,可以传递子类对象,父类对象实际指向子类,可以转换为子类。
例:

class B extends A//其中,B是子类,A是父类
A a=new B();
a.method();//访问的是new后的类(即B)里的method方法
a.i;//引用的是A里的变量

实现(纵向关系):

类与接口就是实现关系,一个类实现接口中声明的方法。

依赖(横向关系):

在一个类的方法中操作另一个类的对象,称为第一个类依赖于第二个类。

关联(横向关系):

在一个类中使用另一个类的对象作为该类的成员变量,体现两个类之间的强依赖关系。

聚合(横向关系):

关联的一种特例,体现整体与部分的关系(部门与员工)。

组成(横向关系):

关联的一种特例,体现整体与部分的关系(constains-a),不可分离。

内部类

在一个类的类体之内再定义一个类,该情况下外面的类成为“外部类”,里面的类称为“内部类”,内部类是外部类的一个成员,并且依附于外部类而存在。
引入原因:内部类能够隐藏起来,不为同一包的其它类所用;内部类可以访问其所在的外部类的所有属性。
Java内部类有以下4种:

成员内部类:

在外部类内,可以访问外部类私有成员。

局部内部类:

在方法中定义的内部类,不能用public/private修饰。

静态内部类:

使用static关键字修饰的内部类。

匿名内部类:

没有名字的内部类,适合只需要使用一次的类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值