| |
|
开发:
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知识点小汇总 |
目录 1、对象是什么? 保存该对象的属性信息? ps:方法不在对象中保存 一、Java中能出现语句的位置1、方法的内部(抽象方法除外)静态方法:只能使用静态属性和调用静态方法,可以直接通过类名被调用 普通方法:可以使用静态属性和非静态属性,可以调用任意方法,必须实例化对象后,通过对象调用 2、类的内部(属性或赋值语句)class Demo{ int g=getNum(); 定义属性时便执行了getNum方法(语句) } 3、代码块1)构造代码块 2)静态代码块 4、构造方法:方法名必须和类名一致,没有返回值 class A{ A(){ hello(); } } 5、内部类,匿名类,lambda表达式二、语句什么时候被执行1.语句写了就会被执行?方法中的语句只有被调用才会被执行! 1)方法重载执行那个方法?跟传参类型一致的方法 2)当有方法重写时,执行那个方法?子类实例化时会触发父类的实例化
同样的,被代码块包含的部分也是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、引用类型引用的类型是间接使用的 ,引用类型可以存对象的地址,但不要求必须存对象的地址 ? ?数据究竟存在何处是由其变量的种类决定的,和数据的类型无关 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |