Java连载32-对象、类及其关系与定义
一、采用面向对象的方式开发一个软件,生命周期之中:
(1)面向对象的分析:OOA
(2)面向对象的设计:OOD
(3)面向对象的编程:OOP
二、类
定义:类在现实世界世界之中是不存在的,是一个模板,是一个概念,是人类大脑思考抽象的结果;类表示一类事物;在现实世界之中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板就称为类。
三、对象
定义:对象是实际存在的个体,现时世界中是实际存在的。
四、描述一个软件开发的过程
(1)先观察现实世界,从现实世界中寻找对象
(2)寻找N多个对象之后,发现所有的对象都有共同特征
(3)形成一个模板(也就是类)
(4)通过代码来表述一个类
(5)程序中有了类的概念
(6)通过类就可以创建对象了
(7)有了对象之后,可以让对象直接协作起来形成一个系统
五、 关系
类--实例化--对象
对象又被称为实例(instance)
对象--抽象--类
六、重点
(1)类描述的是对象的共同特征
(2)共同特征如:身高特征
(3)这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征,因为这个特征具体的某个对象之后,值不同,有的对象身高1.80,有的身高2.20
(4)一个类主要描述什么信息
状态+动作
状态信息:名称、身高、性别、年龄
动作信息:吃喝、唱歌、跳舞
状态是一个类的属性
动作是一个类的方法
注意:状态和动作当具体到某个对象上之后,发现最终的结果可能不一样
对象和对象之间有共同特征,但是具体到对象之后有数据的差异。
(5)格式
类{
属性;//描述对象的状态信息
方法;//描述对象的动作信息
}
(6)类的定义(从这里开始编写代码)
语法结构:
[修饰符列表] clasd 类名{
}
例子:
学生类,描述所有学生对象都存在的共同特征
学号、名字、性别、年龄、住址
学生对象都有的动作信息:
吃饭、睡觉、学习、唱歌、跳舞
重点:属性通常都是采用一个变量的形式来描述的
public class D31_Student {
//属性(描述对象的状态信息),属性通常采用变量的方法来定义在类体之中,方法体之外的变量为成员变量
//成员变量没有初始化值的话,那么系统默认值会向0看齐
int no;//学号
String name;//姓名
boolean sex;//性别
int age;//年龄
String address;//地址
//方法是描述对象的动作信息,当前例子就不描述方法了,只描述信息属性
}
(7)java语言中类是一种引用数据类型
七、源码:
D32_student.java
地址:
https://github.com/ruigege66/Java/blob/master/D32_student.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Java连载32-对象、类及其关系与定义的更多相关文章
- Java连载60-类之间的六种关系
一.类之间的关系 1.泛化关系(UML图:实线空心三角形箭头,箭头指向被继承方) 类和类.接口与接口之间的继承称为泛化关系 public class A {} class B extends A{} ...
- Java连载80-数字类格式、随机数、BigDecimal
一.数字类 1.关于数字格式化:java.text.DecimalFormat; 2.数字格式元素: # 任意数字 , 千分位 . 小数点 0 不够补零 package com.bjpowernode ...
- Java连载17-赋值类运算符&字符串的连接运算符
一.赋值运算符 1.赋值类运算符包括两种: (1)基本赋值运算符:= (2)扩展的赋值运算符: += -= *= /= &= 赋值类的运算符优先级:先执行等号右边的表 ...
- 3.2 STL中的函数对象类模板
*: STL中有一些函数对象类模板,如下所示: 1)例如要求两个double类型的x 和y 的积,可以: multiplies<double>()(x,y); 该表达式的值就是x*y的值. ...
- Java编程里的类和对象
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- java面向对象编程(类、对象)
一.面向对象编程概述面向对象编程(Object Oriented Programming,缩写为OOP)是当今最流行的程序设计技术,它具有代码易于维护.可扩展性好和代码可常用等优点.面向对象的设计 ...
- Java中类与类的关系
在java中类和类的关系大致分三种:泛化.关联.依赖. 1. 泛化(Generalization) "XX是一个XX"关系(is a),通常使用的关键词为 extends.impl ...
- 比较C++、Java、Delphi声明类对象时候的相关语法
同学们在学习的时候经常会遇到一些问题,C++.Java.Delphi他们到底有什么不一样的呢?今天我们来比较C++.Java.Delphi声明类对象时候的相关语法.希望对大家有帮助! C++中创建对象 ...
随机推荐
- cs231n--详解卷积神经网络
原版地址:http://cs231n.github.io/convolutional-networks/ 知乎翻译地址:https://zhuanlan.zhihu.com/p/22038289?re ...
- DFS-深度优先算法解决迷宫问题
/*main.cpp*/#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; int sr, sc ...
- .netcore持续集成测试篇之 .net core 2.1项目集成测试
系列目录 从.net到.net core以后,微软非常努力,以每年一到两个大版本的频率在演进.net core,去年相继发布了.net core 2.1和2.2,其中2.1是长期支持版,不断的快速更新 ...
- 从零开始一起学习SLAM | 用四元数插值来对齐IMU和图像帧
视觉 Vs. IMU 小白:师兄,好久没见到你了啊,我最近在看IMU(Inertial Measurement Unit,惯性导航单元)相关的东西,正好有问题求助啊 师兄:又遇到啥问题啦? 小白:是这 ...
- 用python写排序算法
希尔排序 希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能.这样可以让一个元素可以一次性地朝最终位置前进一大步.然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到 ...
- Java 内存模型和 JVM 内存结构真不是一回事
这两个概念估计有不少人会混淆,它们都可以说是 JVM 规范的一部分,但真不是一回事!它们描述和解决的是不同问题,简单来说, Java 内存模型,描述的是多线程允许的行为 JVM 内存结构,描述的是线程 ...
- Apache性能测试工具ab使用详解~转载
Apache自带性能测试工具ab使用详解 一. Apache的下载 1. http://www.apache.org/,进入Apache的官网 2. 将页面拖到最下方“Apache Project L ...
- (四)Lock,ReentrantLock,ReentrantReadWriteLock类的使用以及相关api---synchronized进阶
这篇博客记录了Lock,ReentrantLock,ReentrantReadWriteLock类的使用以及其一些api: 码字不易~~另外<java多线程编程核心技术>这本书读着很爽 前 ...
- 帝国CMS(EmpireCMS) v7.5 后台XSS漏洞分析
帝国CMS(EmpireCMS) v7.5 后台XSS漏洞分析 一.漏洞描述 该漏洞是由于代码只使用htmlspecialchars进行实体编码过滤,而且参数用的是ENT_QUOTES(编码双引号和单 ...
- Python之流程控制——if...else...
Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...