类与类之间的关系

类与类之间的关系

java是面向对象编程的语言,一个类要想使用某一个类的方法,必须得首先要有这个类的对象,也就是实例化,这样才能调用这个类的方法;于是这两个类就有了关联,存在一种关系。

类与类之间的关系可以分为三种:

  • 泛化关系
  • 实现关系
  • 关联关系

下面我们来一一说明这几种关系:
泛化关系:泛化关系也就是一个类去继承另一个类;译为is a;
例如:

public class Animal {
public void method() {
}
}
class Dog extends Animal{
}

在继承一个类时我们要记住:子类可以调用父类的方法,但不能改变父类的方法内容但是可以重写(Override),重写要想到多态,多态的基本本原则其实就是就近原则
父类不可以调用子类;但是可以引用子类:例如Animal a=new Dog() Dog is a Animal 是正确的,但是子类不能引用父类,Animal is a Dog的说法是错误 的。

实现关系 :一个类为接口,它被定义为一种功能的协议,另一个类去实现这个接口(接口本身也是一种类),可以记为 A is like a B。
例如:

public interface B{
void method();//只能是public或者abstract修饰
}
class A implements B{
public void method();
}

关联关系:如果两个类既不能实现又不能继承毫无关系,我们就将一个类的实例化作为属性定义在另一个类里,这样就可以调用这个类的方法,has-a()
例如:

class B{
public void method(){
}
}
public class A{
B b;
public A(B b){//利用构造方法初始化变量,避免出现空指针情况
this.b=b;
}
b.method();
}

这种关系两个类的耦合度比较高,可以了解一下代理模式利用接口做中介实现解耦的功能。

小结:第一次写博客,排版比较丑,主要是对自己学过的不太能记住的东西的一些记录,一直拖着不写设计模式,下次要努力学懂再来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值