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 ...
随机推荐
- CTF中的神兵利刃-foremost工具之文件分离
原理 Foremost可以依据文件内的文件头和文件尾对一个文件进行分离,或者识别当前的文件是什么文件.比如拓展名被删除.被附加也仍然可以对其分离. 使用 安装: 需要使用这个工具,首先我们需要安装他, ...
- go-zero 是如何做路由管理的?
原文链接: go-zero 是如何做路由管理的? go-zero 是一个微服务框架,包含了 web 和 rpc 两大部分. 而对于 web 框架来说,路由管理是必不可少的一部分,那么本文就来探讨一下 ...
- springboot项目图片不显示的问题
首先确认你的图片路径是对的,maven重新clean,install了,web服务也重启了 那么大概率就是浏览器缓存的原因,因为页面直接用的是缓存的旧数据,所以显示不出来. 在不修改浏览器设置的情况下 ...
- LeetCode 周赛上分之旅 #40 结合特征压缩的数位 DP 问题
️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问. 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越 ...
- 【pytorch】目标检测:一文搞懂如何利用kaggle训练yolov5模型
笔者的运行环境:python3.8+pytorch2.0.1+pycharm+kaggle.yolov5对python和pytorch版本是有要求的,python>=3.8,pytorch> ...
- Java日志框架的依赖设置备查(SLF4J, Log4j, Logback)
前言 最近在看代码的过程中,发现身边的许多人在使用Java日志框架时,对于应该引入何种依赖不甚了解,搜索网络上的文章,常常也是互不一致.这篇文章可以看着是Java日志框架的入门使用和实践建议,重点介绍 ...
- 原来你是这样的SpringBoot--Async异步任务
本节我们一起学习一下SpringBoot中的异步调用,主要用于优化耗时较长的操作,提高系统性能和吞吐量. 一.新建项目,启动异步调用 首先给启动类增加注解@EnableAsync,支持异步调用 @En ...
- jQuery获取select选中值的文本
实际代码:var checkUserSelect=$("#checkUserSelect option:selected").text();//执法人员姓名 jQuery中获得选中 ...
- 通过snmp获取设备每个接口的配置IP地址,网段信息和VLAN接口号
第一部分,观察通过snmp OID能获取的信息,对信息进行关联. 1.通过 snmp获取到接口IP地址和掩码信息,发现IP地址作为索引值: 2.每个IP地址的索引,都可以关联到接口的索引 3.每个接口 ...
- numpy 索引,切片 ,转置,变值,多个数组的拼接