java学习笔记
gyf的blog
这个作者很懒,什么都没留下…
展开
-
内部类解析
静态内部类类中用static修饰的类,静态只能访问静态。局部内部类写在代码体、方法、构造器里的类匿名内部类。原创 2023-10-22 16:26:50 · 41 阅读 · 1 评论 -
代码块笔记
原创 2023-10-22 15:54:32 · 43 阅读 · 1 评论 -
Lambda表达式
lambda表达式只能用于简化函数式接口的匿名内部类,即接口只有一个抽象方法。()里填形参,{}填方法体。原创 2023-10-22 15:47:27 · 41 阅读 · 1 评论 -
对象多态和行为多态
原创 2023-07-18 17:42:41 · 75 阅读 · 1 评论 -
final关键字介绍
原创 2023-07-11 10:37:44 · 29 阅读 · 0 评论 -
static关键字解析
static关键字简介 下图程序运行过程:首先包含main方法的StaticTest1类进入方法区,main方法进栈,,执行第一个语句时,User类进方法区域,同时堆内存中开辟空间存放该类静态成员变量。新建对象时,,堆内存开辟对象的空间,每个对象都能找到该类的静态成员变量区。 静态成员方法里只能访问静态成员,且不能用this关键字,因为静态成员在类文件编译后就产生,此时对象还未建立。 重新认识main方法原创 2023-07-08 19:29:24 · 33 阅读 · 1 评论 -
ArrayList解析
remove(Object o)删除的是第一个与o匹配的数据。原创 2023-07-07 18:34:05 · 24 阅读 · 1 评论 -
StringBuilder类解析
StringBuilder类是一种线程不安全的类,是一种字符串缓冲区,可存储任意类型数据,进去之后变成可变字符串。它效率高的特点十分突出,该类常用于字符串拼接操作,对比普通String类的拼接,速度约是10的3次方倍。在拼接完成后,再用toString()方法转为String类进行其它操作。StringBuilder 构造方法常用成员方法public StringBBuilder append(任意类型)原创 2023-07-06 22:37:31 · 56 阅读 · 1 评论 -
java的String类解析
s3是由常量加上变量,会额外产生一个StringBuilder类型的数据,再转换成String类型,二者都不在串池里。java有常量优化机制,常量与常量相加时,在编译的字节码文件中直接相加合并,所有s1==s2为true。通过双引号直接创建的字符串会统一存放在串池里,而通过new创建出来的对象会在堆内存中开辟一块内存空间。原创 2023-07-05 10:10:54 · 27 阅读 · 0 评论 -
封装、权限修饰符、javabean
设计规范:合理隐藏,合理暴露。将用户操作的东西暴露,不需要操作的隐藏起来。原创 2023-06-29 11:11:08 · 29 阅读 · 1 评论 -
java的this关键字和构造方法
程序执行后,主方法进栈,创建对象的语句分成两步走,首先new一个对象,在堆内存中开辟一块空间,然后调用构造方法,构造方法进栈,其中局部变量“xx”和23赋值给堆内存中的name和age,随后构造方法出栈,最后把堆内存地址给对象stu。此方法若未手动创建,系统会自动建立一个无参数的构造方法,若手动创建则不会有默认构造方法,构造方法可以重载。this关键字代表的是当前对象的地址,它调用的是当前对象内的成员方法或成员变量。若在一个类中有与成员变量重名的变量,会遵循就近原则选择具体变量。原创 2023-06-28 23:29:02 · 36 阅读 · 1 评论 -
java跨平台性和jdk的组成
java跨平台性、jdk组成原创 2023-06-01 21:50:14 · 35 阅读 · 2 评论 -
java标识符命名和类型转换
大驼峰命名适用于类名,类名中所有单词首字母大写。如:StudentList。原创 2023-06-04 22:30:09 · 60 阅读 · 1 评论 -
java包管理和方法重载
在ide中建立project后,新建module。在module里可以新建包。包名一般将公司网址倒着写,如cn.edu.hhu.[包名],实际就是以点为分隔的多级目录。包可以在hhu文件夹下建立。在包里有着不同类的.java文件。原创 2023-06-12 15:51:47 · 41 阅读 · 1 评论 -
创建对象内存图解析
点击运行,main函数所在的Test.class字节码文件首先进入方法区,随后main方法进入栈内存,依次运行main函数中的语句。在创建Student对象时,Student.class字节码文件进入方法区,堆内存中为stu1开辟一个内存空间,包含成员变量以及成员方法的引用地址并把堆内存地址给stu1,String类被初始化为null,int类初始化为0。若main函数里调用study()或eat()方法,该方法会进栈内存,执行完后出栈,main函数执行完后出栈,程序结束。原创 2023-06-28 22:07:43 · 29 阅读 · 1 评论