javaSE
文章平均质量分 60
关于java基础的一些知识点
随意转折.
这个作者很懒,什么都没留下…
展开
-
java字符串拼接、StringBuilder和StringBuffer比较
在普通String拼接的底层,我们可以发现依然是创建了一个StringBuilder对象,并且不断调用append()方法进行字符串拼接,最后通过toString()方法把StringBuilder对象转成String对象。因为String源码中value[]是被final修饰,只能修改值,不能改变引用。答案:6个,“a”,“b”,new String(),new String(),toString(),StringBuilder。答案:2个,ab为1个对象,new String()为1个对象。原创 2023-03-12 22:25:19 · 843 阅读 · 0 评论 -
java三大特性——多态
虽然p1、p2都是Person类型,但是在代码执行期间,会根据引用对象判断具体如何执行(没有重写就执行父类中的方法,重写则执行子类中的方法),这就是动态绑定。但是这种方式不是可靠的,并不是所有Person类型的引用都是Student的,也有可能是Teacher等等。:是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。我们可以看到虽然我们new 的是子类,但我们实现的依然是父类的方法。向下转型,要和向上转型结合起来思考,后面的父类引用是向上转型产生的。原创 2022-12-11 11:34:35 · 624 阅读 · 0 评论 -
java三大特性——继承
java三大特性——继承原创 2022-12-08 16:22:48 · 353 阅读 · 0 评论 -
java静态代码块和实例代码块
在代码设计中可以用来创建可以单例的对象,不用每次调用一个相同的对象时都要重新new一次,提高性能。比如我们在JDBC编程的时候,设计JDBC工具类,我们就可以把注册驱动放在静态代码块。用static修饰的代码块是静态代码块。运行时,会自动放在构造方法中,执行了实例代码块后,在执行构造方法。静态代码块是从上至下的执行顺序,且都是在main方法前执行。执行了静态代码块后,执行实例代码块。静态代码块>实例代码块>构造方法。3.静态代码块的执行顺序。2.实例代码块的执行顺序。2.静态代码块的语法。原创 2022-12-20 12:31:38 · 682 阅读 · 0 评论 -
移位运算符<<、>>、>>>
1.左移运算符()3.无符号右移运算符(>>>)原创 2022-12-05 10:08:30 · 885 阅读 · 0 评论 -
详解String不可变
真正导致String不可变的原因是value被private修饰并且String没有提供相应的get或set,这才导致String不可变。修饰类表明该类不想被继承,final修饰引用类型表明该引用变量不能引用其他对象,但是其引用对象中的内容是可以修改的。所有涉及到可能修改字符串内容的操作都是创建一个新对象,改变的是新对象。final只能表明value不能修改其指向,value是可以修改的。1.我们首先要了解在JVM中一个String对象是如何存储的。2.为什么String是不可变的?原创 2022-12-21 21:38:05 · 600 阅读 · 0 评论