Java面向对象类与对象整理
第一章 面向对象:
1.1 什么是面向过程:
遇到某件事的时候,思考 “我该怎么做”然后一步一步实现的过程
1.2 什么是面向对象:
遇到某件事的时候,思考“我该让谁来做”,“谁”就是对象,他们怎么做是他们自己的事,最后一群对象结合起来做好一件事就行
1.3 面向对象举例
笔记本案例:
- 面向过程:
买一台组装电脑,先去网上找需要买那些零部件,然后找配置,然后在网上找零部件,价格和配置都合适,在购买完然后去电脑店去组装,然后在旁边监督,在装上系统回家
- 面向对象:
首先找一个对电脑硬件很了解的人,让他帮我们查看零部件和配置,然后找好零部件,购买然后让他现场监督,装上系统然后打电话给你,拿电脑回家
1.4 面向对象思维方式的好处
- 是一种更符合人们思考习惯的思维
- 面向过程更多的体现的是执行者,面向对象中更多的体现是指挥者
- 将复杂的问题简单化
第二章 类与对象
2.1对象在需求中的使
案例解析:
大象装进冰箱
需求:大象装进冰箱里
对象:大象、冰箱
步骤:
- 打开冰箱门
- 放进大象去
- 关闭冰箱门
打开、装、关闭都是冰箱的功能
大象描述:
Class 大象{
}
冰箱描述:
Class冰箱{
Void 打开{}
Void 存储(大象){ }
Void 关闭
}
当把具体的事物描述清楚之后,然后使用这些具体的事物,Java使用具体的事物,需要通过new 关键字来创建事物的具体实例
总结:
- 先按照名词提炼问题领域中的对象
- 对对象进行描述,明确对象中应该具备的属性和功能
- 通过new 的方式就可以创建该事物的具体对象
- 通过该对象调用它以后的方法
2.2对象在代码中的体现
分析:
事物的特点(属性):
颜色。
轮胎个数。
事物的(功能):
运行。
属性就是变量,就是方法
- 成员属性:
在代码中的体现就是成员变量
- 成员功能:
在代码中的体现就是成员方法
2.3对象的内存图解
小汽车案例
package com.oracle.demo06;
public class Car {
//成员变量
String color;
int number;
//成员方法
public void run(){
System.out.println("颜色为:"+color+","+number+"个轮胎");
}
}
//测试类
package com.oracle.demo06;
public class Test {
public static void main(String[] args) {
//创建对象
Car c=new Car();
//给成员变量赋值
c.color="紫色";
c.number=4;
//调用成员方法
c.run();
}
}

2.4类和对象的区别
- 类:
是对某一类事物的事物的抽象描述
- 对象:
用于表示实现中该类事物的个体
2.5局部变量和成员变量区别
区别一:定义的位置不同
定义在类中的变量称为成员变量
定义在方法中或者{}语句里面的变量称为局部变量
区别二:内存中的位置不同
成员变量存储在堆内存的对象中
局部变量存储在栈内存的方法中
区别三:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象方法的消失而从堆中消失
局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
区别四:初始化不同
成员变量因为在堆内存中,所有默认的初始化值
局部变量没有默认的初始化值,必须手动给其赋值才可以使用
2.6基本类型和引用类型作为参数传递
基本数据类型参数传递:
package com.oracle.demo01;
public class Demo01 {
public static void main(String[] args) {
int a=1;
method01(a);
System.out.println(a);
}
//基本数据类型传递
public static void method01(int a){
a=2;
}
}

引用数据类型参数传递:
// package com.oracle.demo01;
public class Person {
String name;
int age;
public void speak(){
System.out.println("我叫"+name+",今年"+age+"岁了");
}
}
package com.oracle.demo01;
public class Demo01 {
public static void main(String[] args) {
//引用数据类型传递-- 对象
//创建对象
Person p=new Person();
//给变量赋值
p.name="欣欣";
p.age=24;
//调用method方法
methd02(p);
//调用p变量中的speak方法
p.speak();
}
//引用数据类型传递--对象
public static void methd02(Person p){
p.name="花花" ;
p.age=18;
}
}

两个引用指向同一个对象,不管是哪一个引用改变了引用的所指向的对象的中的值,其他引用再次使用都是改变后的值。
Java面向对象类与对象整理的更多相关文章
- Java面向对象-类与对象
Java面向对象-类与对象 类与对象的关系 我们通俗的举个例子,比如人类是一种类,张三这个人就是人类的具体的一个个体,也就是java中的对象:这就是一个类与对象的关系: 类的定义 下面看实例 类的创建 ...
- Java面向对象——类,对象和方法
1.类的概念 在生活中,说到类,可以联想到类别,同类,会想到一类人,一类事物等等.而这一类人或事物都是具有相同特征或特点和行为的,我们根据不同的特征或特点和行为将他们归类或分类.同时,当我们认识一个新 ...
- java 面向对象 — 类和对象
构造方法 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回值 5.构造器 ...
- Java面向对象--类和对象
面向对象是相对于面向过程而言的,是软件开发方法.面向对象把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统设计,更贴近事物的自然运行模式.本篇博客介绍Java面向对象的类和对象 目录: 面 ...
- Java面向对象~类和对象&方法,类方法
面向对象 概念: 1.同一类事物的抽象描述,不是具体的 2.类和对象的关系: 类 是抽象的. 对象 是具体的. 3.对象的体征,称为"属性&q ...
- Java面向对象---类与对象的关系
类是对某一类事物的描述,是抽象的.概念上的意义.对象是实际存在的该类事物的每一个个体,也被称为实例. 创建对象:包括声明对象和实例化对象 Person person;//声明 person = new ...
- Java面向对象 类与对象与方法的储存情况
栈.堆.方法区 类(含方法)储存在方法区 main函数入栈 堆里面存储方法区中类与方法的地址 main函数调用方法,找堆里面方法的地址,再从方法区找到对应函数,函数入栈,用完出栈 总结: 1.类.方法 ...
- Java面向对象--类的对象之间的几种关系详解
转载: https://www.cnblogs.com/supren/p/7853377.html
- Java面向对象——类的成员
Java面向对象——类的成员 摘要:本文主要介绍了类的常见成员. 属性 属性称为成员变量,一般来讲不用赋值,因为有默认值,另外显式赋值没有意义会导致所有由此类创建对象都是此值. 默认值 Boolean ...
随机推荐
- 提高网络灵活性和效率的组网方式—SD-WAN
导读 最初,大多数企业只是简单地将软件覆盖添加到广域网连接上.但是,随着时间的推移,由于SD-WAN架构的易配置功能,企业将开始采用SD-WAN更复杂的功能. 广域网一般用于连接多个业务地点,如总部和 ...
- 将自己的ubuntu18.04打包成镜像
将自己的ubuntu18.04打包成镜像 2018年11月10日 10:40:06 舌耳 阅读数:1590 先下载remastersys wget ftp://ftp.gwdg.de/pub/linu ...
- CentOS 安装git
git安装 yum install git 初始化git “git init --bare 文件夹” 添加所有 “git add . ” 提交 “git commit -m "提交信息&qu ...
- UOJ275 [清华集训2016] 组合数问题 【Lucas定理】【数位DP】
题目分析: 我记得很久以前有人跟我说NOIP2016的题目出了加强版在清华集训中,但这似乎是一道无关的题目? 由于$k$为素数,那么$lucas$定理就可以搬上台面了. 注意到$\binom{i}{j ...
- thymeleaf中js跳转到另外一个页面
<script type="text/javascript"> setTimeout("location.href='index'", 3000); ...
- 【hjmmm网络流24题补全计划】
本文食用方式 按ABC--分层叙述思路 可以看完一步有思路后自行思考 飞行员配对问题 题目链接 这可能是24题里最水的一道吧... 很显然分成两个集合 左外籍飞行员 右皇家飞行员 跑二分图最大匹配 输 ...
- SCOI2016 Day1 简要题解
目录 「SCOI2016」背单词 题意 题解 代码 「SCOI2016」幸运数字 题意 题解 总结 代码 「SCOI2016」萌萌哒 题意 题解 总结 代码 「SCOI2016」背单词 题意 这出题人 ...
- 自学Python4.4-装饰器的进阶
自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...
- String:字符串常量池
String:字符串常量池 作为最基础的引用数据类型,Java 设计者为 String 提供了字符串常量池以提高其性能,那么字符串常量池的具体原理是什么,我们带着以下三个问题,去理解字符串常量池: 字 ...
- 【POJ2676】sudoku 搜索
按照每一行每一列去填数,当填到每一行的第9列时,开始填下一行. 代码如下: #include <cstdio> #include <algorithm> #include &l ...