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 ...
随机推荐
- Unity的IPostprocessBuildWithReport:深入解析与实用案例
Unity IPostprocessBuildWithReport Unity IPostprocessBuildWithReport是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目后 ...
- 8 最全的零基础Flask教程
最全的零基础Flask教程 1 Flask介绍 1.1 为什么要使用Flask Django和Flask是Python使用最多的两个框架 1.2 Flask是什么 Flask诞生于2010年,是Arm ...
- Linux 过滤进程和端口号
IDEA覆盖率测速显示百分比 ctrl + alt + F6 取消勾选 ps - ef | grep java过滤Java进程 netstat -anop | grep 74933 过滤端口号 重命名 ...
- WPF的前世今生
1.WPF的布局 WPF的布局分为相对定位和绝对定位两种. 绝对定位一般用Canvas 相对定位一般用Grid.StackPanel.DockPanel.WrapPanel 2.MVVM模式是什么 M ...
- Mysql高级8-触发器
一.触发器 触发器是与表有关的数据库对象,指在insert/update/delete之前或者之后,触发并执行触发器中定义的sql语句集合,触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志 ...
- Frida环境配置
目录 安装Linux客户端 配置Android服务端 测试运行效果 官方手册 安装Linux客户端 github地址:https://github.com/frida/frida pip instal ...
- Java 中的日期时间总结
前言 大家好,我是 god23bin,在日常开发中,我们经常需要处理日期和时间,日期和时间可以说是一定会用到的,现在总结下 Java 中日期与时间的基本概念与一些常用的用法. 基本概念 日期(年月日, ...
- Fetch设置超时请求
promise + fetch + AbortController + setTimeOut 这是一段正常的fetch请求 fetch('www.baidu.com',{}) .then(res=&g ...
- 【RocketMQ】消息的消费总结
消费者从Broker拉取到消息之后,会将消息提交到线程池中进行消费,RocketMQ消息消费是批量进行的,如果一批消息的个数小于预先设置的批量消费大小,直接构建消费请求ConsumeRequest将消 ...
- Text2Cypher:大语言模型驱动的图查询生成
话接上文<图技术在 LLM 下的应用:知识图谱驱动的大语言模型 Llama Index> 同大家简单介绍过 LLM 和图.知识图谱相关的结合,现在我来和大家分享下最新的成果.毕竟,从 GP ...