java object的概述_Java类与对象概述

面向对象思想概述

比如猪八戒吃水果,面向过程:吃(猪八戒,水果),面向对象:猪八戒.吃(水果)。

面向对象思想特点

①是一种更符合我们思想习惯的思想

②可以将复杂的事情简单化

③将我们从执行者变成了指挥者

④角色发生了转换

面向对象开发就是不断的创建对象,使用对象,指挥对象做事情。

面向对象特征:封装(encapsulation)、继承(inheritance)和多态(polymorphism)

类与对象概述

我们学习编程就是为了把我们日常生活中实物用学习语言描述出来,那么我们该如何描述现实世界事物呢?

①属性就是该事物的描述信息(事物身上的名词)

②行为就是该事物能够做什么(事物身上的动词)

Java中最基本的单位是类,Java中用class描述事物也是如此

①成员变量就是事物的属性

②成员方法就是事物的行为

定义类其实就是定义类的成员(成员变量和成员方法)

①成员变量和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。

②成员方法和以前定义方法是一样的,只不过把static去掉,加上static则变成了静态方法。

类和对象的概念:类是一组相关的属性和行为的集合,对象是该类事物的具体体现

对象的使用:

类名 对象名 = new 类名();

对象名.变量名

对象名.方法名(...)

成员变量和局部变量的区别

①在类中的位置不同:成员变量:在类中方法外,局部变量:在方法定义中或者方法声明上

②在内存中的位置不同:成员变量:在堆内存(成员变量属于对象,对象进堆内存),局部变量:在栈内存(局部变量属于方法,方法进栈内存)

③生命周期不同:成员变量:随着对象的创建而存在,随着对象的消失而消失,局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

④初始化值不同:成员变量:有默认初始化值,局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

注意事项:

①局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

②基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char

③引用数据类型变量包括哪些:数组,类,接口,枚举

匿名对象的概述

匿名对象就是没有名字的对象 ,他只调用一次。匿名对象可以作为实际参数传递

new 类名().方法();

调用多次的时候,不适合。匿名对象调用完毕就是垃圾。可以被垃圾回收器回收。

封装的概述

封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

封装好处:1、隐藏实现细节,提供公共的访问方式2、提高了代码的复用性3、提高安全性。

封装原则:1、将不需要对外提供的内容都隐藏起来2、把属性隐藏,提供公共方法对其访问。

this关键字的概述

this关键字特点:代表当前对象的引用 ,用来区分成员变量和局部变量重名

手机类代码class Demo_Phone {

public static void main(String[] args) {

Phone p1 = new Phone();

p1.setBrand("三星");

p1.setPrice(5288);

System.out.println(p1.getBrand() + "..." + p1.getPrice());

p1.call();

p1.sendMessage();

p1.playGame();

}

}

/*

手机类

属性:品牌brand,价格price

行为:打电话call,发短信sendMessage,玩游戏,playGame

*/

class Phone {//java bean

private String brand;//品牌

private int price;//价格

public void setBrand(String brand) {//设置品牌

this.brand = brand;

}

public String getBrand() {//获取品牌

return this.brand;//this.可以省略,你不加系统会默认给你加

}

public void setPrice(int price) {//设置价格

this.price = price;

}

public int getPrice() {//获取价格

return price;

}

public void call() {//打电话

System.out.println("打电话");

}

public void sendMessage() {//发短信

System.out.println("发短信");

}

public void playGame() {//玩游戏

System.out.println("玩游戏");

}

}

  • 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、付费专栏及课程。

余额充值