java笔记——面向对象
1.概述:面向对象是基于面向过程的编程思想
举例:把大象装进冰箱
2.开发:不断的创建对象,使用对象,指挥对象做事情
3.面向对象特征:封装 , 继承 , 多态
4.类和对象的关系:
类是一组相关的属性和行为的集合
对象是该类事物的具体体现
5.用class描述事物:
成员变量就是事物的属性 , 成员方法就是事物的行为
6.内存图:
一个对象的内存图

一个对象的初始化过程:

对象共享一个方法区域

7.成员变量与局部变量的区别:
(1)类中的位置不同
成员变量:类中方法外
局部变量:方法内或方法生命上
(2)内存中的位置不同
成员变量:堆内存
局部变量:栈内存
(3)生命周期不同
成员变量:随着对象的存在而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
(4)初始化值不同
成员变量:有默认的初始化值
局部变量:没有初始化值,必须先定义,赋值,才能使用
8.匿名对象:没有名字的对象
使用情况:(1)对象调用方法仅仅一次的时候
(2)作为实际参数传递
9.封装
(1)概述:隐藏对象的属性和实现细节,仅对外提供公共访问方式
(2)好处:隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高了安全性
(3)封装原则:将不需要对外提供的内容都隐藏起来
把属性隐藏,提供公共方法对其访问
10.private关键字:
概述:是一个权限修饰符
可以修饰成员(成员变量和成员方法)
被private修饰的成员只能在本类中才能访问
常见应用:把成员变量用private修饰
提供对应的setXxx()/getXxx()方法
11.this关键字:
概述:代表所在类的对象引用
方法被哪个对象调用,this就代表那个对象
使用:局部变量隐藏成员变量时
12.构造方法:
概述:给对象的数据进行初始化
格式: 方法名与类名相同
没有返回值类型,连void都没有
没有具体的返回值
注意事项:如果自己没有提供构造方法,系统会给出默认构造方法
如果自己提供了构造方法,系统将不在提供
构造方法也是可以重载的。
13.类的成员方法分类:
无参无返回值;
无参有返回值;
有参无返回值;
有参有返回值;
14.一个标准类的基本写法
类:成员变量
构造方法:
无参构造方法
带参构造方法
成员方法:
getXxx()
setXxx()
给成员变量赋值:
无参构造方法+getXxx()
带参构造方法
java笔记——面向对象的更多相关文章
- [Java笔记]面向对象-单例模式
单例模式 目标 使JVM中最多只有一个该类的实例,以节省内存.缺点:只能建一个该类的实例. 实现 具体实现思路: 1构造方法私有化//故在外面不能new很多次 2对外提供一个公开的静态的类方法,获取类 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...
- [Java入门笔记] 面向对象三大特征之:封装
了解封装 什么是封装? 在Java的面向对象程序设计中,有三大基本特征:封装.继承和多态.首先我们先来看看封装: 在Java的面对对象程序设计中,封装(Encapsulation)是指一种将函数功能实 ...
- java笔记之面向对象
一.面向过程与面向对象的区别 1 面向过程:主要关注点是:实现的具体过程,因果关系[集成显卡的开发思路] * 优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低. * 缺点:采用面向 ...
- JAVA(一)JAVA基础/面向对象基础/高级面向对象
成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
随机推荐
- .Net Core 3.0 对 MongoDB 的多条件查询(两种)操作
前言 在日常开发中,偶尔会用到 MongoDB 的数据操作,也花费了一些时间调试,因此在此处记录一下,共同进步. 废话少说,出招吧! 正文 2.1 准备工作 首先需要引入 .Net 平台链接 Mo ...
- Docker本地搭建个人企业私有云盘seafile搭建(完美解决ONLYOFFICE无法预览的情况)
seafile搭建 #创建存放路径 mkdir -p /media/megrez/data/seafile/seafile-mysql/db mkdir -p /media/megrez/data/s ...
- Cesium SuperMap问题调研汇总
https://segmentfault.com/a/1190000040577369?sort=newest
- 我也来扒一扒python的内存回收机制!
python的内存回收是面试中经常会问到一个问题,今天我来给大家深度剖析下python的内存回收和缓存机制 1.引用计数器 我们知道,python是通过引用计数器来做内存回收的,下面我们来重点讲下引用 ...
- 问题排查:nginx能跑,但是只能跑一会,不能跑多了
背景 上周都是查测试环境的问题,比如,我上一篇写的问题排查:nginx的反向代理感觉失效了一样,就是说这个事的.在文章里,最终查到是nginx的全连接队列满了(每个监听端口有个队列,完成三次握手的请求 ...
- 京东工业根据ID取商品详情 API
item_get-根据ID取商品详情 注册开通 vipmro.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secret ...
- fastapi启动后访问docs不显示页面的问题
笔者之前正常使用fastapi的docs接口进行各种接口调试,使用很正常,之前安装也都是正常安装流程,没有做任何修改,可以突然有一天不知道为啥,docs接口打开是空白的,接口也没有报错,就是空白,摸索 ...
- .NET开源最全的第三方登录整合库 - CollectiveOAuth
前言 我相信很多同学都对接过各种各样的第三方平台的登录授权获取用户信息(如:微信登录.支付宝登录.GitHub登录等等).今天给大家推荐一个.NET开源最全的第三方登录整合库:CollectiveOA ...
- QA|如何实现一个函数读取1-9按钮?|网页计算器自动化测试实战
如何实现一个函数读取1-9按钮? 如何实现一个根据我们Json存的数字,自动选取对应按钮点击,并且点击对应算法? 首先我们肯定不能给每个元素都写一个函数吧,毕竟挺多,而且如果这样写了,那加减乘除都要分 ...
- Solution -「洛谷 P4688」「YunoOI 2016」掉进兔子洞
Description (Link)[https://www.luogu.com.cn/problem/P4688]. 每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的 ...