第一部分 Java:面向对象理解
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:面向对象理解相关推荐
- 杨校老师课堂之Java面向对象知识点整理集锦
目录 第一部分 Java面向对象 1.开发环境搭建及开发工具eclipse使用 2.类和对象 3. 成员变量和局部变量区别 4. 数据类型 5.构造函数 6.函数 7. 成员变量的初始化 8. thi ...
- Java 面向对象:super关键字的理解
Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
- java 面向对象个人理解
1.java面向对象我的理解是:一个系统可以看做一个对象,例如能耗监测系统,我需要监测能耗时,我只要用这个系统就可以了,他内部怎么实现的我不用去管. 2.举个例子:例如一个人是一个对象,可以用属性描述 ...
- 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?
面向对象的三大核心特性简介 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率. 该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有 ...
- java面向对象第一课,定义类,模拟人的行为:吃饭工作休息
java面向对象第一课,定义类,模拟人的行为:吃饭工作休息 /*** 定义类,模拟人的行为:吃饭工作休息*/ public class Person {//静态特征:成员变量 属性 fieldStri ...
- Java 面向对象:static的理解
Java 面向对象:static的理解以及各个代码块的运行顺序 一.static关键字 static修饰方法--称为静态方法,可以直接通过类名调用 static修饰变量--称为静态变量,能被类中所有实 ...
- Java 面向对象:instanceof和类型转换的理解
Java 面向对象:instanceof和类型转换的理解 一.instanceof 1.定义: instanceof A 判断一个引用所指向的对象,是否是A类型,或者A的子类 instanceof 的 ...
- Java 面向对象:多态的理解
Java 面向对象:多态的理解 一.多态的定义 一个对象的实际类型是确定的,但可以指向引用对象的类型可以有很多(父类,有关系的类) 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父 ...
最新文章
- 【 FPGA 】关于FPGA中复位的设计问题(包含异步复位,同步释放方案)
- python章节总结_《Python深度学习》第一章总结
- mysql数据库2012_SQLServer2012连接mysql5.5
- iOS之深入解析CocoaPods的插件机制和如何加载插件整合开发工具
- android studio button位置_免费的Android开发环境
- oracle和mysql数据实时同步_异构数据源的CDC实时同步系统——最终选型实战
- oracle传date参数十二小时,Oracle数据库中 to_date()与24小时制表示法及mm分钟的显示...
- Python学习之==常用模块
- php addall,thinkphp addall() 方法设置
- CString int转换
- Mac高效笔记软件GoodNotes 5
- Linux tree 命令乱码
- linux安装远程桌面管理工具xrdp
- 幸运抽奖java_Java 幸运抽奖项目
- oracle分页怎么查询,Oracle的分页查询详解
- Ant-deign-vue入门:布局-官方文档踩坑
- Kotlin 苦海无涯(一)
- CSGO新手教学-CSGO游戏模式介绍 CSGO 攻略
- android屏幕 录制检测,Android 录制屏幕的实现方法
- 《高质量C/C++编程指南》摘要
热门文章
- [html] 请说说<script>、<script async>和<script defer>的区别
- 前端学习(2862):简单秒杀系统学习之前端优化图片
- [js] 根据元素ID遍历树形结构,查找到所有父元素ID
- 前端学习(1339):mongodb更新数据文档
- 前端学习(1333):mongodb增
- 前端学习(1029):jquery其他方法
- mybatis学习(31):修改部分字段(有外键,先查询,再修改)
- java面试题2 牛客:定义类中成员变量时不可能用到的修饰是
- Linux 定时执行shell 脚本
- linux快速php,Linux 下的这些高效指令,是你快速学习的神器