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++中创建对象 ...
随机推荐
- ggplot2 |legend参数设置,图形精雕细琢
本文首发于微信公众号“生信补给站”,https://mp.weixin.qq.com/s/A5nqo6qnlt_5kF3_GIrjIA 学习了ggplot2|详解八大基本绘图要素后,就可以根据自己的需 ...
- 浏览器DOM渲染及阻塞问题
在准备面试,然后复习到了计网的知识点,紧接着又扯到了url从输入到浏览器渲染的那个问题,这里来顺便完善补充一下,本文的重点在渲染 上面的图就是浏览器从服务器请求来页面后渲染的全过程 这里我们分开来看: ...
- Django对接SQL Server服务
1.环境描述环境:Win7 + Django2.1.10 + SQL Server 2014 + Python3.6 + PyCharm 2017.2.3 x64 2.安装插件由于Django默认是不 ...
- Nginx总结(一)Linux下如何安装Nginx
以前写过一些Nginx的文章,但都是用到什么说什么,没有一个完整系统的总结.趁最近有时间,打算将Nginx相关的内容重新整理一下.nginx系列文章地址如下:https://www.cnblogs.c ...
- vim文件时,误用了ctrl+z命令,该怎么办?
linux中,当正在使用vim命令编辑文件,退出时,如果误使用了 ctrl+z ,当前目录中会多一个隐藏文件. 比如我正在编辑 t.txt 文件时,误以为我之前使用的是 tail 命令,直接使用 ct ...
- 分享一个赚钱方法:用趣分类app在家轻松赚钱
什么是趣分类 近期,垃圾分类是社会各界和广大市民关心的一个热门话题,随着垃圾分类工作的推进,各地都掀起学习垃圾分类的热潮.为了我们的美好生活,打响"垃圾分类"这场硬仗刻不容缓.据了 ...
- 2019DX#5
Solved Pro.ID Title Ratio(Accepted / Submitted) 1001 fraction 辗转相除 4.17%(7/168) ok 1002 three arr ...
- 洛谷- P1306 斐波那契公约数 - 矩阵快速幂 斐波那契性质
P1306 斐波那契公约数:https://www.luogu.org/problemnew/show/P1306 这道题目就是求第n项和第m项的斐波那契数字,然后让这两个数求GCD,输出答案的后8位 ...
- lightoj 1057 - Collecting Gold(状压dp)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1057 题解:看似有点下记忆话搜索但是由于他是能走8个方向的也就是说两点的距离其 ...
- codeforces 814 C. An impassioned circulation of affection(二分+思维)
题目链接:http://codeforces.com/contest/814/problem/C 题意:给出一串字符串然后q个询问,问替换掉将m个字符替换为字符c,能得到的最长的连续的字符c是多长 题 ...