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++中创建对象 ...
随机推荐
- vs2013 在按F5调试时,总是提示 “项目已经过期”的解决方案
这个是由于缺少某些文件(如.h,xxx.icon),或者文件时间不对 引起的. 如图在工具选项设置 最小为 “诊断”. 然后编译一下,会提示 xxx过期,确认下即可.
- 记录一次基于docker搭建jira平台
背景:项目需要选择不同测试平台,筛选一个最佳平台 现状:一台机器安装多套环境,虚拟机太繁琐 解决方案:通过Docker模拟安装测环境 1.pull docker 镜像: jira:7.11.1(目前的 ...
- QMS 的趨勢概述
自泰勒Taylor提出的科学管理被奉行后,制造业的分工已然成形,而产品不再是由工匠单独负责完成.为确保产品的质量,产品在完工后的检验为确保瑕疵品不外流出给客户的必要关卡.然而当产品依靠检验结果并无法减 ...
- 纯数据结构Java实现(4/11)(BST)
个人感觉,BST(二叉查找树)应该是众多常见树的爸爸,而不是弟弟,尽管相比较而言,它比较简单. 二叉树基础 理论定义,代码定义,满,完全等定义 不同于线性结构,树结构用于存储的话,通常操作效率更高.就 ...
- POJ 1661 暴力dp
题意略. 思路: 很有意思的一个题,我采用的是主动更新未知点的方式,也即刷表法来dp. 我们可以把整个路径划分成横向移动和纵向移动,题目一开始就给出了Jimmy的高度,这就是纵向移动的距离. 我们dp ...
- API 资源隔离系统设计与实现
(马蜂窝技术原创内容,公众号 ID:mfwtech) Part 1 背景 大交通业务需要对接机票.火车票.租车.接送机等业务的外部供应链,供应商的数据接口大部分通过 HTTP.HTTPS 等协议进行通 ...
- HashMap并发下死循环问题解析
首先小伙伴要明确:死循环问题在JDK 1.8 之前是存在的,JDK 1.8 通过增加loHead和loTail进行了修复. 在JDK 1.7及之前 HashMap在并发情况下导致循环问题,致使服务器c ...
- 云原生生态周报 Vol. 17 | Helm 3 发布首个 beta 版本
本周作者 | 墨封.衷源.元毅.有济.心水 业界要闻 1. Helm 3 首个 beta 版本 v3.0.0-beta.1 发布 该版本的重点是完成最后的修改和重构,以及移植其他 Helm 2 特性. ...
- 从零开始开发IM(即时通讯)服务端
好消息:IM1.0.0版本已经上线啦,支持特性: 私聊发送文本/文件 已发送/已送达/已读回执 支持使用ldap登录 支持接入外部的登录认证系统 提供客户端jar包,方便客户端开发 github链接: ...
- 牛客-长沙理工校赛C-取手机
传送门:https://www.nowcoder.com/acm/contest/96/C 参考:http://www.cnblogs.com/Dillonh/p/8835074.html 题意: d ...