Java学习历程---面向对象一

JAVA学习历程

面向对象一

面向对象
1 面向对象的三条主线
---->Java 类以及类的成员
属性 方法 构造器 代码块 内部类
---->面向对象的三个特征
封装 继承 多态 (抽象)
---->其他关键字

2 类和对象 使用(面向对象的落地)
---->创建类
---->实例化对象
---->对象.属性 对象.方法

3 对象的内存解析
面向对象
1 面向对象的三条主线
---->Java 类以及类的成员
属性 方法 构造器 代码块 内部类
---->面向对象的三个特征
封装 继承 多态 (抽象)
---->其他关键字

2 类和对象 使用(面向对象的落地)
---->创建类
---->实例化对象
---->对象.属性 对象.方法

3 对象的内存解析
在这里插入图片描述
实例化后 属性在堆空间中, 而局部变量在栈空间

4 属性 和 局部变量
---->相同点
(1)定义格式相同
(2)变量都有一定的作用域
---->不同点
(1)声明的位置不同 : 属性 直接定义在类内,,局部变量 定义在方法内、 方法形参,代码块、构造器形参、构造器内部变量
(2)关于权限修饰符: 属性可以添加权限修饰符(public private pretected 缺省)/// 局部变量不加
(3)关于默认初始化值: 属性 有默认初始化(根据类型) /// 局部变量 没有初始化值 也就意味着 局部变量声明时一定要加值 (形参除外)
(4)关于内存加载位置: 属性在对空间 / 局部变量在栈空间

5 方法
---->权限修饰符 返回值类型 方法名(形参){
方法体
return
}
----> 方法中 也可以调方法
方法中不能定义方法

6 JVM内存结构
编译完源程序后 生成一个或多个字节码文件.class
我们使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行。。这意味着,需要将字节码文件对应的类加载到内存中 涉及到内存解析
《JVM规范》
虚拟机栈:
堆:
方法区:

7 对象数组的内存解析
引用类型的变量 只能存储两种 null 或者 地址值
对null进行掉方法的操作 会产生异常
在这里插入图片描述

8 匿名对象 不声明对象变量
new Phone().sendEmail();
new Phone().playGame(); //这两个不是一个对象

9 方法重载
方法 和 构造器方法
同一个类 同一个方法名 不同的形参列表
注意 返回值、权限修饰符、形参变量名不重要

10 可变个数的形参
---->格式 : 数据类型 … 变量名
----> 允许直接定义能和多个实参想匹配的形参
---->可以传入 0个 1个 或多个 参数
---->注意
Public void show(String … strs){}和public void show(String[] strs){}不能构成重载(尚硅谷 207)
----> 可变个数形参 需要写在形参列表的末尾
----> 一个形参列表最多只能定义一个 可变个数形参

11 方法参数的值传递机制
---->java方法的参数传递只有一种方式 :值传递
---->赋值操作:
基本数据类型:赋值的是数据
引用数据类型:赋值的是地址值
---->方法形参:值传递

12 几个注意点
第二个里边重载了println

13 递归方法
还没看!!!!

14 super关键字用法
(1)在子类的成员方法中,调用父类的成员变量
(2)在子类的成员方法中,访问父类的成员方法
(3)在子类的构造方法中,访问父类的构造方法

15 四种权限修饰符的理解
封装性的体现需要权限修饰符:可以类的内部结构 // 只有 缺省 和 public可以修饰类
public:
private:
缺省:
protected:

16 属性赋值的过程
---->书信复制到先后顺序
(1)默认初始化
(2)显示初始化
(3)构造器初始化
(4)对象.方法 对象.属性
(1)-(2)-(3)-(4)

17 JavaBean
所谓JavaBean, 是符合如下标准的Java类:
(1)类是公共的
(2)有一个无参的公共构造器
(3)有属性,且有get set方法

18 UML类图

19 this 关键字的使用
this可以修饰 属性 方法 构造器

20 MVC设计模式
model / view / controller
视图模型层 / 控制器层 / 数据模型层

21 import
如果 使用的是 java.lang包下的类 可以不用import

22 项目二的理解

实例化后 属性在堆空间中, 而局部变量在栈空间

4 属性 和 局部变量
---->相同点
(1)定义格式相同
(2)变量都有一定的作用域
---->不同点
(1)声明的位置不同 : 属性 直接定义在类内,,局部变量 定义在方法内、 方法形参,代码块、构造器形参、构造器内部变量
(2)关于权限修饰符: 属性可以添加权限修饰符(public private pretected 缺省)/// 局部变量不加
(3)关于默认初始化值: 属性 有默认初始化(根据类型) /// 局部变量 没有初始化值 也就意味着 局部变量声明时一定要加值 (形参除外)
(4)关于内存加载位置: 属性在对空间 / 局部变量在栈空间

5 方法
---->权限修饰符 返回值类型 方法名(形参){
方法体
return
}
----> 方法中 也可以调方法
方法中不能定义方法

6 JVM内存结构
编译完源程序后 生成一个或多个字节码文件.class
我们使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行。。这意味着,需要将字节码文件对应的类加载到内存中 涉及到内存解析
《JVM规范》
虚拟机栈:
堆:
方法区:

7 对象数组的内存解析
引用类型的变量 只能存储两种 null 或者 地址值
对null进行掉方法的操作 会产生异常

8 匿名对象 不声明对象变量
new Phone().sendEmail();
new Phone().playGame(); //这两个不是一个对象

9 方法重载
方法 和 构造器方法
同一个类 同一个方法名 不同的形参列表
注意 返回值、权限修饰符、形参变量名不重要

10 可变个数的形参
---->格式 : 数据类型 … 变量名
----> 允许直接定义能和多个实参想匹配的形参
---->可以传入 0个 1个 或多个 参数
---->注意
Public void show(String … strs){}和public void show(String[] strs){}不能构成重载(尚硅谷 207)
----> 可变个数形参 需要写在形参列表的末尾
----> 一个形参列表最多只能定义一个 可变个数形参

11 方法参数的值传递机制
---->java方法的参数传递只有一种方式 :值传递
---->赋值操作:
基本数据类型:赋值的是数据
引用数据类型:赋值的是地址值
---->方法形参:值传递

12 几个注意点
第二个里边重载了println

13 递归方法
还没看!!!!

14 super关键字用法
(1)在子类的成员方法中,调用父类的成员变量
(2)在子类的成员方法中,访问父类的成员方法
(3)在子类的构造方法中,访问父类的构造方法

15 四种权限修饰符的理解
封装性的体现需要权限修饰符:可以类的内部结构 // 只有 缺省 和 public可以修饰类
public:
private:
缺省:
protected:

16 属性赋值的过程
---->书信复制到先后顺序
(1)默认初始化
(2)显示初始化
(3)构造器初始化
(4)对象.方法 对象.属性
(1)-(2)-(3)-(4)

17 JavaBean
所谓JavaBean, 是符合如下标准的Java类:
(1)类是公共的
(2)有一个无参的公共构造器
(3)有属性,且有get set方法

18 UML类图

19 this 关键字的使用
this可以修饰 属性 方法 构造器

20 MVC设计模式
model / view / controller
视图模型层 / 控制器层 / 数据模型层

21 import
如果 使用的是 java.lang包下的类 可以不用import

22 项目二的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值