java对象地址连续_java日常DAY006

今天是学习java的第六天,今天学习了面向对象,脑子已经不够用了。

学习的进度慢了,碰到的问题也多了。还是先总结一下一天学习的知识点。

1.了解了什么是面向对象,什么是面向过程,我学习的java语言就是面向对象的语言

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为

2.对象是什么?

万物皆可对象,对象就是具体的事物

(1) 什么是类?什么是抽象?

类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。; 抽象就是抽出某些事物相似的部分

(2) 说说类和对象的关系,举两个例子描述类和对象

类是对对象的抽象;例如, 人类是一个类,黄种人,白种人就是对象;

树是一个类,松树,梧桐树就是对象

(3) 类里面通常都有哪些东西?

属性field、方法method、构造器constructor

3.内存分析详解_栈_堆_方法区_栈帧_程序执行的内存变化过程

(1) JVM内存分为哪三个区域?方法区也在堆中,这句话对么?

栈stack、堆heap、方法区method area 对

(2) 栈里面存储什么数据?栈的特点是什么?

1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)

2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)

3. 栈属于线程私有,不能实现线程间的共享!

4. 栈的存储特性是“先进后出,后进先出”

5. 栈是由系统自动分配,速度快!栈是一个连续的内存空间!

(3) 堆里面存储什么数据?堆的特点是什么?

1. 堆用于存储创建好的对象和数组(数组也是对象)

2. JVM只有一个堆,被所有线程共享

3. 堆是一个不连续的内存空间,分配灵活,速度慢!

(4) 方法区里存储什么数据?方法区的特点是什么?

1. JVM只有一个方法区,被所有线程共享!

2. 方法区实际也是堆,只是用于存储类、常量相关的信息!

3. 用来存放程序中永远是不变或唯一的内容。(类信息【Class对象】、静态变量、字符串常量等)

内存分析:

4.this 的本质 对象创建的过程

创建一个对象分为如下四步:

1.分配对象空间,并将对象成员变量初始化为0或空;

2.执行属性值的显示初始化;

3.执行构造方法;

4.返回对象的地址给相关的变量

(1) this指向哪里?同类中,一个构造器如何调用另外一个构造器?

this 总是指向调用该方法的对象

使用this关键字调用重载的构造方法,避免相同的初始化代码,但只能在构造方法中用,并且必须位于构造方法的第一句。

1. Static关键字_内存分析静态变量和静态方法

(1) Static修饰变量称之为什么?static修饰方法称之为什么?

用static修饰变量为静态成员变量,也称为类变量

用static修饰方法为静态方法。

(2) 被static修饰的变量和方法从属于谁?没被static修饰的变量和方法从属于谁?

static修饰的成员变量和方法,从属于类

普通变量和方法从属于对象的

1. 静态初始化块_继承数的追溯

(1) 静态初始化块的作用是什么?什么时候执行静态初始化块?

静态初始化块,用于类的初始化操作

先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。

1. Java的参数传值机制_值传递

(1) 写代码解释为什么说java中参数传递是值传递

Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。 也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。

(2) 基本数据类型传递和引用数据传递一样么?

不一样 基本数据类型传递的是值的副本。但是引用类型指的是“对象的地址”

1. Java包机制_package的使用_jdk提供的常见包的作用

(1) Java中Package的作用是什么?

通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理。 包对于类,相当于文件夹对于文件的作用。

(2) Jdk有哪些常见包,分别什么作用?

Java中的常用包

说明

java.lang

包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。

java.awt

包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

包含执行与网络相关的操作的类。

包含能提供多种输入/输出功能的类。

java.util

包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值