java面向对象

b站韩顺平java基础

文章目录

  • java面向对象
    • **类与对象的关系**
    • **对象的内存布局**
    • **类的属性的细节**
    • **对象的分配机制**
    • **创建对象的流程简单分析**
    • **方法调用的机制**
    • **方法的细节**
    • **方法传参机制**
    • **递归的执行机制**
    • **递归的注意事项**
    • **方法的重载**
    • **作用域**
    • **构造器**
    • **对象创建的流程**
    • **this**
    • **this的注意事项**
    • **IDEA常用快捷键**
    • **包**
    • **访问修饰符**
    • **封装**
    • **继承**
    • **继承的细节**
    • **继承的内存布局**
    • **super**
    • **方法重写**
    • **方法重载和方法重写的区别**
    • **多态**
    • **java的动态绑定机制**
    • **equals和==的对比**
    • **hashcode**
    • **toString()方法**
    • **finalize方法**

类与对象的关系

对象的内存布局

栈区:一般存放基本数据类型(局部变量)

堆区:存放对象(Cat cat、数组等)

方法区:常量池(存放常量,比如字符串)、类加载信息

类的属性的细节

对象的分配机制

创建对象的流程简单分析

方法调用的机制

方法的细节

方法传参机制

​ swap方法传递的是基本数据类型值拷贝,形参的任何改变不影响实参的值。

test100方法传递的数组引用,是引用类型(传递的是数组的地址),可以通过形参来影响实参的值。

​ test200方法传递的是一个对象引用,是引用类型(传递的是对象的地址),可以通过形参来影响实参的值。

递归的执行机制

递归的注意事项

方法的重载

​ 如果方法名相同,参数列表相同,但是返回值类型不同,此时也不构成重载。

作用域

构造器

对象创建的流程

  1. 首先在方法区加载Person类的信息。只会加载一次
  2. 在堆中分配空间
  3. 完成对象的初始化
    • 默认初始化 age=0 name=null
    • 显式初始化 age=90 name=null
    • 构造器的初始化 age=20 name=小倩
  4. 在对象在堆中的地址返回给p(p是对象名,也可以理解为对象的引用)

this

​ this.属性名就是当前对象的属性。

​ 哪个对象调用,this就代表哪个对象。

this的注意事项

IDEA常用快捷键

访问修饰符

封装

继承

继承的细节

继承的内存布局

super

方法重写

方法重载和方法重写的区别

多态

向上转型调用方法的规则如下:

  1. 可以调用父类中的所有成员(需遵守访问权限)
  2. 但是不能调用子类中的特有的成员,因为在编译阶段,能调用哪些成员是由编译器决定的
  3. 最终运行效果看子类(运行类型)的具体实现,即调用方法时,按照从子类(运行类型)开始查找方法,然后调用。

向上转型:父类的引用指向子类的对象

向下转型:把指向子类对象的父类引用,转成指向子类对象的子类引用

java的动态绑定机制

equals和==的对比

hashcode

toString()方法

finalize方法

java面向对象(初级部分)相关推荐

  1. Java面向对象程序设计笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java面向对象作业目录(作业笔记) 第1章 Java面向对象笔记 • [第1章 面向对象] 第2章 Java面向对象笔记 • ...

  2. java三大领域对象,Java面向对象概述和三大特性

    Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...

  3. java面向对象-------静态初始化块

    1.构造方法用于对象的初始化!静态初始化块,用于类的初始化操作,在静态初始化块中不能直接访问非static成员. package java面向对象; /** * 测试静态初始化块 */public c ...

  4. JAVA面向对象-----final关键字

    JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率.1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4: ...

  5. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  6. 12 Java面向对象之多态

    JavaSE 基础之十二 12 Java面向对象之多态 ① 多态的概念及分类 多态的概念:对象的多种表现形式和能力 多态的分类 1. 静态多态:在编译期间,程序就能决定调用哪个方法.方法的重载就表现出 ...

  7. 猫抓老鼠-Java面向对象特点梳理

    我们先设计一个猫抓老鼠的小游戏: ⊙猫和老鼠都有名字和体重两种属性,猫有抓老鼠的方法,对应的老鼠则有逃跑的方法. ⊙首先游戏的结果是猫抓住了老鼠或者老鼠逃跑了,对于这两种情况,我们用体重来区分,若猫的 ...

  8. java面向对象特征及阐述,Java面向对象四个特征

    Java面向对象有四个特征:抽象.封装.继承.多态.其中封装.继承.多态又被称为Java的基本特征. 抽象: Java中会把客观事物抽象成一个类.类就是封装了数据以及操作这些数据的代码逻辑实体.用字符 ...

  9. 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告

    20155328 <Java程序设计> 实验二(Java面向对象程序设计) 实验报告 单元测试 一.单元测试和TDD 编程时需理清思路,将编程需求等想好,再开始编.此部分可用伪代码实现. ...

最新文章

  1. 互联网协议 — STP 生成树协议
  2. AJAX跨域请访问的问题
  3. 语言列表导出xlxs_学习五分钟,掌握一种新语言。
  4. jsp session 的状态保持, cookie的跨域访问(一)
  5. Qt 5——常用控件(QLable、QLineEdit、)
  6. mix2线刷开发板救砖_小米MIX2线刷刷机教程_小米MIX2第三方rom包_线刷救砖教程
  7. js实现一键复制到剪切板上_js实现各种复制到剪贴板的方法(分享)
  8. 物联网学什么编程语言_物联网开发用什么语言
  9. VBS QQ微信消息轰炸
  10. PID控制器的输入量和输出量的物理关系解释
  11. 监控不同外挂盘的硬盘io、查看linux命令运行时间和记录、iostat命令查看硬盘io、查看硬盘io的几种方法、定位到硬盘io高的dm
  12. 用DOS命令格式化U盘
  13. 树莓派4B Raspbian系统常用Linux 命令及快捷键
  14. 重大计算机学院院标,计算机学院召开2021年国家自然科学基金申报动员会
  15. 有没有好看的俄剧推荐-如下表
  16. 联想z5 Android 9.0,联想Z5 Pro(安卓9.0)刷机教程 联想Z5 Pro刷机图解
  17. win8和win8.1升级win10预览版图文教程
  18. chatgpt智能提效职场办公-ppt怎么加音乐背景
  19. 扶桑号战列舰(差分/笛卡尔树)
  20. 【IEEE】中科院2区计算机系统类,SCIEEI双检,正刊

热门文章

  1. Some Thoughts after Reading ”How Does the Rabbit Eat the Wolf ”
  2. 科学院量子计算机,中科院研究员丁洪:量子计算机前景可期,算力翻亿倍并非天方夜谭...
  3. 【王道】计算机网络绪论与体系结构(零)
  4. 32岁京东毕业程序员,走投无路当了外企外包,闲得心里发慌,到点下班浑身不自在!
  5. 一文看懂Linux网络管理
  6. 撩课python视频下载_撩课-Python-GUI编程-PyQT5代码 要毕业查重了给我来这套 - 下载 - 搜珍网...
  7. python调用按键精灵插件_按键精灵——办公常用脚本集锦
  8. react react-pdf实现在线pdf加载(翻页加载、下拉滚动加载)
  9. http://twitter.github.io/bootstrap/
  10. 靠谱”是reliable,那“不靠谱”用英文怎么表达呢?