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++中创建对象 ...
随机推荐
- Linux 精确判断是否同一文件--及终端获取字符串md5 的值
背景 今天发现一个同事用 文件大小 对比,来判断编译所得的一个可执行文件是不是同一个文件. 讲道理 这种方式出错的概率很低,但是用这样的方法,一旦出错就容易被坑一把狠的. 所以我来分享一下 md5 在 ...
- 《大牛到底是如何阅读JDK源码的?》一起来学习一下
前言: 如何阅读源码,是每个程序员需要面临的一项挑战,为什么需要阅读源码?从实用性的角度来看,主要有三个目的: 第一,解决手头的新问题或者新需求; 第二,真正理解一部分理论的落地实现; 第三,应对面试 ...
- python3 how to creat alphabet
Python: How To Generate a List Of Letters In The Alphabet Method 1# First we need to figure out the ...
- Kafka 系列(五)—— 深入理解 Kafka 副本机制
一.Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息.每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文 ...
- django前后端分离部署
部署静态文件: 静态文件有两种方式1:通过django路由访问2:通过nginx直接访问 方式1: 需要在根目录的URL文件中增加,作为入口 url(r'^$', TemplateView.as_vi ...
- Java 学习笔记---Java double类型相加问题
多个double类型的数直接相加的时候,可能存在精度误差.( 由于计算机算法以及硬件环境决定只能识别 0 1.计算机默认的计算结果在都在一个指定精度范围之内,想往深的了解,可以学习数值分析等) 在金融 ...
- 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...
- Docker跨服务器通信Overlay解决方案(下) Consul集群
承接上文 本文基于上篇文章,详细的场景说明与分析在前篇随笔中业已记录,有兴趣可以移步 Docker跨服务器通信Overlay解决方案(上) Consul单实例 本文主旨 本文为Docker使用Cons ...
- centos7不能连接外网
1. 首先保证虚拟机是NAT模式 2. 打开cmd窗口,输入ipconfig,查看vmnet8的ipv4地址是多少,DNS也需要记下,后面会用到 注意:vmnet8的ip要与虚拟机的网关IP在同一 ...
- 什么是W3C??
为什么想着写这个博客呢,因为最近准备简历去面试,看到好多公司上面都写着熟悉 w3c ,很纳闷,我是一个新手,w3c是什么呢?没听过!!! 所以就去网上查了: 什么是W3C? W3C 万维网联盟(wor ...