黑马程序员——java基础笔记:面向对象

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

一:面向对象

  1. 在我们的现实生活中,一切都是对象。而计算机语言设计各种程序,其实就是为了模拟我们的现实生活。网络世界其实也是现实生活的一种反应。我们在程序的设计过程中,经历过了从开始的面向机器、到面向过程和现在的面向对象。我们使用面向对象语言设计程序的时候,要考虑的是对象是什么,对象的属性,对象能做什么,对象和对象之间有什么联系等等。这就完全与我们显示生活连起来了,更有助于我们设计程序。java语言正是面向对象的语言。

二:类和对象

  1. 1:类
    什么是类?在现实生活中,我们总是习惯把各种具有某些相同特性的事物划分为一个类,比如所有的马可以分为一个马类,所有的花是一个花类。在java语言中,也是如此。我们把某些具有相同属性和行为的对象抽象为一个类,该类是所有具有这些属性和行为的一个模板,而每个对象就是依照该模板创建出来的一个实体。类的声明格式如下:
1 class ClassName{
2 {
3   ClassBody //类体中给出类的成员变量和成员方法的定义。
4 }
    类的成员变量用于存储对象的属性,方法用来描述对象的行为。类体中不能有独立执行的代码块,所有的执行代码只能出现在方法中。
    对象:类被声明以后,就可以创建对象了,被创建的对象成为类的实例。程序使用对象要经历以下步骤:声明对象,创建对象,使用对象和撤销对象。
    声明对象:由于类是一种引用类型,声明变量只是命名一个变量,这个变量能引用类的对象。由于此时对象还没有被创建出来,所以暂时不会为它分配内存。
    创建独享:就是为对象分配内存,也叫作类的实例化。一般形式为:new 构造方法()。
    使用对象:使用对象就是访问对象的属性和调用对象的方法,一般通过"."操作符来进行。
    类是用来封装对象的属性和方法的,在类中,有类属性和对象属性、类方法和对象方法之分。被static关键字修饰的属性和方法是属于整个类的,可以直接通过类名来调用。而没有static关键字修饰的属性是属于对象的。必须通过对象"."来调用。

面向对象的三大特性:继承、封装和多态。

  1. 继承:什么是继承?继承就是一个类可以继承另外一个类,被继承的类称为该类的父类或者超类,继承的类叫做父类的子类。继承之后,子类拥有了父类的非私有的属性和方法。继承最大的好处就是代码的重复利用。但是,在Java语言里,只能是单继承的,就是说一个子类只能继承一个父类,但是一个类可以被多个类继承,就相当于一个儿子只有一个爸爸,而一个爸爸可以有多个儿子。而且继承具有传递性,子类的父类是该子类的子类的父父类,也具有该父父类的非私有属性和方法。在java里面,用一个关键字extends来表示继承关系,代码如下:
1 class A extends B{
2   classBody   //方法体
3 }
  1. 封装:封装就是把类的属性和方法设为私有的,用private关键字修饰,这样别的对象就不能直接调用该类的方法,也不能随意修改属性,起到一个保护的作用。其实一个类就是封装了该类的属性和方法,我们在创建一个类的时候,一般都把属性设为私有,然后提供getter和setter方法,供别的对象来调用。
  2. 多态:可以说因为有了继承和接口,所以才有了多态。多态就是父类的引用或实现了某个接口的引用可以指向子类的或者实现了该接口的类的对象。当子类继承父类时,如果重写了父类的某个方法,当调用这个方法时,实际上调用的是子类中的方法。接口也是一样,当某个类实现一个接口时,必须要重写接口里面的抽象方法,所以当调用该方法时,实际上调用的是该实现类里面的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值