Java基础【二】

标题

什么是关联?
在UML图中如何体现?
代码中如何体现?
java中堆是存放什么?
java中栈存放什么?
常量池存放什么?
代码体现?
什么是声明?
什么是定义?
声明和定义的区别是什么?
在代码中如何体现?
实例化属于什么?
构造函数什么时候用?
什么是接口与抽象类它们的区别?
什么是多态?
代码如何体现多态?
什么是针对实现编程?
什么是针对接口编程?
针对接口编程与针对实现编程的区别?

什么是关联?

百度百科:互相贯连

就是我们大家都有关系、事物互相之间发生牵连和影响

在UML图中如何体现?

在UML中可以表示强依赖关系,也可以是普通的关联关系
在UMl图中分为3类

  • 关联关系:分为双向关联,单向关联
    • 什么时候是关联关系?
      当你一个类的的对象包含另一个类的对象,关联就会出现双向或者是单向

这里写图片描述
- 聚合关系:整体和部分的关系,A是B的一部分,但是A也可以单独的存在
这里写图片描述
- 组合关系:他是比聚合更加强的关联关系,A是b的一部分,但是他们有相同的生命周期,一旦有一个死亡,那么另一个也死亡
这里写图片描述


代码中如何体现?

单向关联:从图可以看书是English类指向了Reading类,引用了Reading的属性或者方法,这个时候English知道Reading属性方法的存在,但是Reading类不知道English的存在,这就是单向关联在代码中的体现
这里写图片描述


双向关联:跟单向关联对比,双向关联的彼此都知道自己的存在,并且可以调用对象的公共属性和方法
这里写图片描述
聚合:A聚合于B,但是B可以离开独立存在,所以就是说我的B属性可以在A里出现,A消亡的时候不会影响到我B的出现,为什么会这样呢?是应该我A和B都在外面new了对象,是两个对象,所以他们之间是没有关系,在我A里面只是调用了他的参数而已
这里写图片描述
组合:强关联关系,在代码中体现就是我在A类里面new了一个B类一个对象,如果我们使用的时候只需要在外面new A类就可以了,他们会把A于B都给我们new出来了,所以B和A的生命周期是绑定在一起的
这里写图片描述


java中堆是存放什么?

堆是存放new出来的对象,堆解决的是数据存储问题,数据怎么放,放在那里

java中栈存放什么?

存放基本类型的变量数据、对象的引用,但是对象不是存放到栈中的,他是存放在堆中的,栈是运行的单位,处理数据

常量池存放什么?

听到常量肯定是存放字符串常量或者基本类型常量

代码体现?

栈:在代码中存放在栈中的元素 有基本数据类型i的引用指向2,引用有S ,s1

int i= 2 
string s = "abx"
string s1 = new String ("a")
 ```

----------

堆代码体现

鸭子 duck = new 鸭子(1,100)

“`

这里写图片描述


什么是声明?

声明是向编译器介绍名字-标识符

什么是定义?

建立变量分配存储空间,告诉编译器给他分配空间

声明和定义的区别是什么?

定义创建对象并为这个对象分配了内存,声明没有分配内存。

  • 定义于声明的区别
    1定义是需要建立空间声明
    2声明不需要建立存储空间
    A a表示声明,他告诉编译器a是A类的对象变量,但是不进行初始化
    如果a= new A() 这就是初始化,分配了空间

  • 为什么有声明
    声明的目的在于提前使用,在定义之前使用,如果不提前使用则没有必要提前声明

在代码中如何体现?

声明

A a

定义

new出来一个对象,其实这个时候就在堆内分配了空间


实例化属于什么?

你想去超市里面买苹果,你对阿姨说:我要一个苹果,然后阿姨就给了你一个苹果 apple = new apple()
如果你说阿姨我要买苹果,那么就相当于java中没有分配给你空间,存储,阿姨不知道你要多少个苹果,代码中就是Apple apple = null


在这里需要注意的是 T1 a =new T1()他表示的是我们new出了一个T1对象,而不是a对象,我们的a是引用,也就是存储在栈中的引用,而对象是new T1 他存放在堆中,并且a 指向了T1

构造函数什么时候用?

构造函数是在对象建立(只有对象创建才调用)时由jvm调用的,给对象进行初始化的,所以在最开始就调用了,你可以跟js初始化连接起来
当我们需要在程序运行的时候自动new出对象初始化的时候使用,构造函数的根本目的是只要创建了对象就会自动的调用构造函数,不用我们调用,省的我们忘记。


什么是接口与抽象类?它们的区别?

接口就是规范,统一标准的目的,当我们在做一个大项目的时候,我们需要让大家都知道这个是做什么的?但是具体不用知道怎么做?

什么是多态?

多态就是一种事物有多种表现形态:坐公车时,一个男的靠在你的肩膀,你可能不爽,但是如果一个美女靠在你的肩膀你就很乐意,这就是多态的表现。哈哈

代码如何体现多态?

覆盖,子类继承父类,重写。。。。。

什么是针对实现编程?

针对一个对象去实现,也就是在我们这个过程中我们知道是谁执行了我们的方法,并且还是写死的

public interface Animal {
public void makeSound();
}

public void hearChickenSound(Chicken chicken) {
chicken.makeSound();
}

什么是针对接口编程?

变量的声明类型后者方法的返回类型是超类型,而不是具体的子类,超类型只是有一个方法明,具体什么都不干,正真做活的是子类,所以这个时候我们只只知道超类,而不知道那个子类去实现了。所以我们无需关心以后执行真正的数据类型是什么样子的,非常的解耦合!
这个时候我们的Animal不是针对的具体某个对象了,

public void hearSound(Animal animal) {
animal.makeSound();
}
如何来了一个new需要叫,那么我们直接调用hearSound就可以了,
hearSound(new Cow())

针对接口编程与针对实现编程的区别?

针对接口编程要比针对实现编程更加方便和解耦合,为我们以后项目开发起到非常好的作用,因为很对接口我们可以变,但是针对实现我们不可以变,针对的是特定的对象,所以我们要针对接口编程,而不是针对实现编程。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王雪芬-ghqr-264962

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值