JAVA基础

本文介绍了JAVA中的类关系,包括横向关系(依赖、关联、聚合、组合),纵向关系(继承、实现),详细讲解了继承的原理和注意事项,并讨论了访问控制、Object类的常用方法以及多态中的重载和重写。同时,解释了`==`和`equals`的区别。
摘要由CSDN通过智能技术生成

JAVA基础

类与类之间关系

在我们实际开发的过程中基本情况下肯定涉及到多个类之间的协作,因此,类和类之间就必然存在各种各样的关系,面向对象程序设计中,我们将类之间的关系分为两大类型:1.横向关系 2.依赖关系

横向关系
依赖关系

依赖关系是一种比较紧密的关系,一般表现形式为一个方法的的执行,需要通过另一个对象的支持。

public class Job {
   

}
public class Worker {
   
	public void work(Job j){
   
}
	}  
关联关系

关联关系是一种比依赖更为密切的关系,在代码层面的表现形式为,一个类的对象作为属性定义到另一个类中。

public clsass Student{
   
	int id;
	String name;
	Teacher teach;
}
//老师类
public class Teacher{
   
	Student []students;
}

聚合关系

聚合关系是一种比关联关系更为紧密的关系,表现是的两个类之间的一种包含,但是这个包含又不是必须或者不可分割的,从代码层面表现来看,跟关联是一致的,两者之间只是存在语义上的区别

//部门
public class Dept {
   
	int dno;
	String name;	
}

//员工
public class Emp {
   
	int eno;
	String name;
	double sal;
	Dept dept;
}

####组合关系

组合关系是以上横向关系中最强的关系,表现的是部分跟整体的关系,两者之间通常表现为不可分割的一种关系,但是代码层面的表现跟关联,聚合是一致的,只是一种语义的区别。

public class People {
   
	Head head;
	Body body;
	Foot foot;
}

public class Head{
   
    
}

public class Body{
   
    
}
public class Foot{
   
    
}

纵向关系

继承

继承(Extends)是面向对象语言的三大特征之一,体现出的是一种类的上下级关系,因此是一种纵向关系;

实现

继承

java中通过继承,可以提高类的可扩展性,以及代码的可复用性;继承是一种 is a 的关系

语法

[修饰符] class 子类名 父类名称{

​ //属性、方法的声明

}

父类

public class Father{
   
   private String firstName;
   private int house;
   private int car;
   private double money;
public String getFirstName() {
   
	return firstName;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值