Java:面向对象理解、集合、IO、NIO、并发、反射源码分析
一.面向对象
1.创建对象的5种方式

   (1)使用new关键字(2)使用Class类的newInstance方法(3)使用构造函数类的newInstance方法(4)使用clone方法 --》未实现Cloneable会报错(5)使用反序列化5动态代理

2.this、super的用法
它们都是用来调用构造器,有什么区别呢?

  (1)thisthis.属性名;当局部变量与成员变量名称相同时,使用this关键字代表成员变量如果局部变量和成员变量名称不同,this可以省略this.方法名();本类中可以省略thisthis();this("小花",2);调用本类的构造函数,首行、只能用一个(2)supersuper.属性名;当父类和子类有相同的同名成员变量时,调用父类中的普通中的属性super.方法名(); ❌调用父类的成员方法super();super("小花",2);调用父类的构造方法,首行、只能用一个

3.static、final的用法 JVM内存模型

  (1)static[1]属性   --静态变量/类变量≠成员变量[2]方法       --静态方法/类方法(no Constructor)[3]代码块    --静态代码块[4]内部类    --静态内部类(2)final[1]修饰类      --不能被继承[2]修饰方法     --不能被重写[3]修饰变量     --值不能修改,常量

4.abstract、interface的用法
接口、抽象类的区别,普通方法、抽象方法的区别

5.extends、implements的用法
继承、实现的区别

.@Override方法的重载、方法重写的区别继承:当我们想要一个模板,实现多种对象,把代码提取出来放到一个单独的类中  --这个存放的类叫作父类父类(超类,基类):     被继承者子类(派生类) :                 继承者语法:public class 子类名 extends 父类名{}注意事项:1、一个类只能直接继承一个类,但是可以间接继承其他类2、一个类如果没有明确extends另一个类,那么默认继承Object类:一个类,是所有类的超类范围:子类可以继承父类的所有数据,包括私有数据,但是要间接访问,构造函数不能继承好处:省代码方法重写:如果子类和父类方法名完全相同,子类的这个方法就叫做方法的重写重写需要注意的地方:1、构成重写的条件: 方法的返回值,方法名,参数列表要完全相同,修饰符的范围不能小于父类   2、私有的方法和构造函数不能被重写3、静态方法不存在重写的概念,但是可以被继承

6.向上转型、向下转型

7.静态代码块、构造代码块、同步代码块

8.静态内部类、匿名内部类

9.面向对象的理解

10.类变量、实例变量、全局变量、局部变量的区别

 类变量:独立于方法之外的变量,用static修饰实例变量/全局变量:独立于方法之外的变量,不过没有static修饰局部变量:类的方法中的变量

11.各种数据类型的显示转换、隐式转换

     Object是所有引用类型的父类  包装类型都是Number的子类java.lang.包装类byte      Byteshort Shortint       Integerlong      Longfloat Floatdouble    Doublechar      Characterboolean   Boolean整型常量池的长度是固定的,   byte

11.交换两个对象的数值

二.集合
1.HashMap源码分析
Java中基本数据结果 –》数组、指针(引用)

    (1)影响性能 --》初始容量、加载因子容量:哈希表中的桶的容量,初始容量:哈希表创建时的容量,加载因子:哈希表扩容之前能达到的容量百分比(2)寻址方式key-计算方式-hashcode-数组长度取模 位移运算

更新中…

第一部分 Java:面向对象理解相关推荐

  1. 杨校老师课堂之Java面向对象知识点整理集锦

    目录 第一部分 Java面向对象 1.开发环境搭建及开发工具eclipse使用 2.类和对象 3. 成员变量和局部变量区别 4. 数据类型 5.构造函数 6.函数 7. 成员变量的初始化 8. thi ...

  2. Java 面向对象:super关键字的理解

    Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...

  3. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  4. java 面向对象个人理解

    1.java面向对象我的理解是:一个系统可以看做一个对象,例如能耗监测系统,我需要监测能耗时,我只要用这个系统就可以了,他内部怎么实现的我不用去管. 2.举个例子:例如一个人是一个对象,可以用属性描述 ...

  5. 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?

    面向对象的三大核心特性简介 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率. 该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有 ...

  6. java面向对象第一课,定义类,模拟人的行为:吃饭工作休息

    java面向对象第一课,定义类,模拟人的行为:吃饭工作休息 /*** 定义类,模拟人的行为:吃饭工作休息*/ public class Person {//静态特征:成员变量 属性 fieldStri ...

  7. Java 面向对象:static的理解

    Java 面向对象:static的理解以及各个代码块的运行顺序 一.static关键字 static修饰方法--称为静态方法,可以直接通过类名调用 static修饰变量--称为静态变量,能被类中所有实 ...

  8. Java 面向对象:instanceof和类型转换的理解

    Java 面向对象:instanceof和类型转换的理解 一.instanceof 1.定义: instanceof A 判断一个引用所指向的对象,是否是A类型,或者A的子类 instanceof 的 ...

  9. Java 面向对象:多态的理解

    Java 面向对象:多态的理解 一.多态的定义 一个对象的实际类型是确定的,但可以指向引用对象的类型可以有很多(父类,有关系的类) 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父 ...

最新文章

  1. 【 FPGA 】关于FPGA中复位的设计问题(包含异步复位,同步释放方案)
  2. python章节总结_《Python深度学习》第一章总结
  3. mysql数据库2012_SQLServer2012连接mysql5.5
  4. iOS之深入解析CocoaPods的插件机制和如何加载插件整合开发工具
  5. android studio button位置_免费的Android开发环境
  6. oracle和mysql数据实时同步_异构数据源的CDC实时同步系统——最终选型实战
  7. oracle传date参数十二小时,Oracle数据库中 to_date()与24小时制表示法及mm分钟的显示...
  8. Python学习之==常用模块
  9. php addall,thinkphp addall() 方法设置
  10. CString int转换
  11. Mac高效笔记软件GoodNotes 5
  12. Linux tree 命令乱码
  13. linux安装远程桌面管理工具xrdp
  14. 幸运抽奖java_Java 幸运抽奖项目
  15. oracle分页怎么查询,Oracle的分页查询详解
  16. Ant-deign-vue入门:布局-官方文档踩坑
  17. Kotlin 苦海无涯(一)
  18. CSGO新手教学-CSGO游戏模式介绍 CSGO 攻略
  19. android屏幕 录制检测,Android 录制屏幕的实现方法
  20. 《高质量C/C++编程指南》摘要

热门文章

  1. [html] 请说说<script>、<script async>和<script defer>的区别
  2. 前端学习(2862):简单秒杀系统学习之前端优化图片
  3. [js] 根据元素ID遍历树形结构,查找到所有父元素ID
  4. 前端学习(1339):mongodb更新数据文档
  5. 前端学习(1333):mongodb增
  6. 前端学习(1029):jquery其他方法
  7. mybatis学习(31):修改部分字段(有外键,先查询,再修改)
  8. java面试题2 牛客:定义类中成员变量时不可能用到的修饰是
  9. Linux 定时执行shell 脚本
  10. linux快速php,Linux 下的这些高效指令,是你快速学习的神器