
Think in java读书笔记
Mr.Gzj
这个作者很懒,什么都没留下…
展开
-
多态/构造器的调用顺序/构造器内部的多态
Java实现多态的机制是后期绑定。但Java也有些地方可以用前期绑定,比如:final,static,private(隐式final)和构造方法(隐式static)是前期绑定。另外,Java只有普通方法的调用可以是多态的,如果直接访问某个域,这个访问将在编译期进行解析。举例//子类public class Son extends Battle { public int a = 2...原创 2020-03-06 17:00:14 · 445 阅读 · 0 评论 -
final关键字/编译时常量与运行时常量/继承与初始化
final可以用来修饰数据、方法、类。final数据1、final修饰变量final修饰基本数据类型的变量时,必须赋予初始值且不能被改变。static final修饰的是常量,常量分为编译时常量与运行时常量,定义为static,强调只有一份。比如static final int a = 10;就是编译时常量,只要是该常量带入的语句,在编译过后都会替换。这段代码在反编译后变成而且...原创 2020-03-03 21:38:05 · 748 阅读 · 0 评论 -
this关键字/数组初始化/可变参数的数组
this关键字表示”调用方法的那个对象”的引用。我们有时在写程序时会有这种需求,想要在方法内部获得当前对象的引用(就是调用当前方法的那个对象),那么就可以在方法内部使用this关键字代指当前对象的引用。比如public class Test { public static void main(String[] args) { new At().aa().sout(...原创 2020-03-03 14:08:27 · 404 阅读 · 0 评论 -
Java静态绑定与动态绑定
程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定.静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法),此时由编译器或其它连接程序实现。例如:C。针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,s...转载 2020-02-28 15:07:40 · 1014 阅读 · 1 评论 -
java的对象存储在哪里?
1、寄存器寄存器是速度最快的存储区域,它位于处理器内部,但它的数量有限,所以要按需分配,不能被人控制。2、堆栈通常也叫栈,位于RAM中,堆栈指针向下移动,则分配新的内存;向上移动,则释放那些内存。这种存储方式速度仅次于寄存器。常用于存放对象引用与基本数据类型,不存放Java对象。栈内存被要求存放在其中的数据的大小、生命周期必须是已经确定的。3、堆通用的内存池,位于RAM中,用于存放所有的...原创 2020-02-29 14:29:17 · 6968 阅读 · 0 评论