IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 不一样角度的javaSE知识点小汇总 -> 正文阅读

[Java知识库]不一样角度的javaSE知识点小汇总

目录

一、Java中能出现语句的位置

1、方法的内部(抽象方法除外)

2、类的内部(属性或赋值语句)

3、代码块

4、构造方法:

5、内部类,匿名类,lambda表达式

二、语句什么时候被执行

1.语句写了就会被执行?

1)方法重载执行那个方法?

2)当有方法重写时,执行那个方法?

总结:语句被执行触发的常见情况:

三、类的加载,对象的实例化,方法的调用

1、什么时候会进行类的加载(类被用到&&类还未被加载过)

2、对象的实例化

执行顺序:

总结:方法中的语句,一定是被调用时才能执行

四、数据

1、直接接触到的数据(变量,字面量,数据元素)

2、基本类型和引用类型

3、数据存放在内存的哪里?

五、引用和对象

1、对象是什么? 保存该对象的属性信息? ps:方法不在对象中保存

?2、基本类型

3、引用类型


一、Java中能出现语句的位置

1、方法的内部(抽象方法除外)

静态方法:只能使用静态属性和调用静态方法,可以直接通过类名被调用

普通方法:可以使用静态属性和非静态属性,可以调用任意方法,必须实例化对象后,通过对象调用

2、类的内部(属性或赋值语句)

class Demo{

int g=getNum(); 定义属性时便执行了getNum方法(语句)

}

3、代码块

1)构造代码块

2)静态代码块

4、构造方法:

方法名必须和类名一致,没有返回值

class A{

A(){

hello();

}

}

5、内部类,匿名类,lambda表达式

二、语句什么时候被执行

1.语句写了就会被执行?

方法中的语句只有被调用才会被执行!

1)方法重载执行那个方法?

跟传参类型一致的方法

2)当有方法重写时,执行那个方法?

子类实例化时会触发父类的实例化

class A{
    int a=2;//A类实例化一个对象时会被执行
}
class A{
    static int a=2;//A类被加载时会执行
}

同样的,被代码块包含的部分也是A类实例化对象时会执行,静态代码块部分则是被加载时会执行

总结:语句被执行触发的常见情况:

1):某个类被加载,会触发一批语句的执行

2):某个类实例化对象,会触发一批语句的执行

3):某个类中的方法被调用,会触发一批语句的执行

三、类的加载,对象的实例化,方法的调用

1、什么时候会进行类的加载(类被用到&&类还未被加载过)

1):用到了类中的静态属性||调用了类的静态方法

2):用该类实例化一个对象

3):用到子类会触发父类(包含接口)

执行顺序:静态属性定义中的赋值语句-->静态代码块中的语句(按照书写顺序依次执行)

父类的所有加载语句执行完才会执行子类的加载语句!

2、对象的实例化

1)对象的实例化可能会触发类的加载(有可能类已经加载过了)

2)类的加载完成后紧跟着对象的实例化

3)类的加载完成可能不会对象的实例化(访问类的静态属性,调用类的静态方法)

4)和对象实例化有关的语句:(属性定义时的赋值语句,构造代码块中的语句,构造方法中的语句)

执行顺序:

1)属性定义和构造代码(按照书写顺序)

2)1完成后执行构造方法中的语句

3)子类的实例化时,必须要求父类所有实例化语句完成后才执行子类

总结:方法中的语句,一定是被调用时才能执行

1)静态方法:有类就够了,可以调用

2)普通方法:必须先通过类实例化出对象,通过对象去调用

3)特殊的main方法,被JVM调用

四、数据

1、直接接触到的数据(变量,字面量,数据元素)

2、基本类型和引用类型

?引用类型:null,“xxx”

基本类型:1,1L,1.0,1.0F,‘c’,true,false

数组元素类型:byte[] short[] int[] 引用类型作为数组对象 数组本身作为数组元素类型

3、数据存放在内存的哪里?

?1)JVM中,针对一个java进程,内存主要分成几个区域:栈区,堆区,方法区

对象在堆区? ? ? ? ? ? ?引用在什么区域? answer:不确定,需要其他条件

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?变量在什么区域? answer:根据变量的种类来明确

变量的种类:? 局部变量(方法定义的变参,方法的形参,catch()定义的变量

局部变量:只存在于该方法执行时创建的栈帧中,属于栈区。

对象的属性:存在于属性附着的对象上,对象存在于堆区

类的静态属性:存在于静态属性附着的类上,类存在于方法区

数组的元素:数组的元素存在于元素附着的数组对象上,还是堆区

ps:只看数据类型(引用类型还是基本类型)无法决定变量存在于何处

方法的某次执行需要的数据,以栈帧的形式放在栈区。

对象放放在堆区

类的数据逻辑上放在方法区

语句数据(指令数据,字节码数据,方法)随着类,放置在方法区

五、引用和对象

1、对象是什么? 保存该对象的属性信息? ps:方法不在对象中保存

?

?2、基本类型

3、引用类型

引用的类型是间接使用的 ,引用类型可以存对象的地址,但不要求必须存对象的地址

?

?数据究竟存在何处是由其变量的种类决定的,和数据的类型无关

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:45:25  更:2022-01-28 11:46:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:48:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码