Java学习笔记之《Java编程思想》——查漏补缺(持续更新)

背景: 总觉得自己对Java很多语法细节没有理解的很清楚,导致最近写代码总感觉不顺畅。于是这段时间学习一下《Java编程思想》这本被称为Java界圣经的书籍,希望在学习的过程中对已有的知识进行查漏补缺,为日后的学习打下牢固的基石。


2018.5.17更

1、Java也有标签机制,但在Java中标签机制只在迭代语句(循环语句)之前起作用。一般与break和continue一起使用。 在不使用标签的情况下,单个循环使用break表示退出本次循环 编译器执行循环之后的语句,使用continue表示结束循环中的某次执行任务进行下一次循环任务;在使用标签的情况下,“break 标签名;”表示退出循环回到标签标记的位置,并且不在执行退出的循环语句,“continue 标签名;”表示回到标签标记的位置,继续执行标签之下的语句(如果接下去的语句是刚刚退出的循环语句,也一样继续执行)。

2、this:只能在方法中使用,表示调用该方法的引用。常用三种方法:1.return this:表示返回调用该方法的引用。2.this.变量:表示获取对象的变量 。3.this(变量):只能用在构造方法中,表示对对象的初始化,并且一个构造方法中只能执行一次this(变量),因为一个对象只能被初始化一次。

3、数组的定义分3种:1.int[] a=new int[N];//定义数组长度为N,数组中的每个数默认初始化(这个例子中每个int类型的数默认初始化为0)。2.int[] a ={1,2,3,4} ;//定义长度为4的数组并且定义了每个数的值。3.int[] a=new int[]{1,2,3,4}//同2一样。

4、static:无论一个类被创造了多少个对象,对象中被定义为static的静态变量或者静态方法都只会被创造一次。并且类中的静态方法只能调用同个类中其他的静态变量或者静态方法。因为静态变量或者静态方法是在对象没有被创造的时候就已经存在了,而非静态类是在创造了对象之后才被创造的。

2018.5.18更

5.访问权限问题:Java访问权限分为四种 :1.public(允许所有程序访问); 2.protected(允许同一个包下的程序以及继承自己的程序访问);3.默认(允许同一个包下的程序访问) ;4.2.private(只允许同一个类下的成员访问);

2018.5.21更

6、程序加载创建顺序问题:编译器首先对最开始找到的类进行加载,当注意到有基类时对基类进行加载,依次类推。之后编译器首先对最底层基类的static变量或模块进行初始化 ,然后是第二个基类的static变量或模块,以此类推直到最外层类的static被加载完成。必要的类都加载完毕后,对象就可以被创建了。 对象创建时所有的基本变量被初始化为默认值,对象引用被初始化为null。之后最底层的基类构造器会被调用,在基类构造器被调用之后,实例成员变量按照其顺序进行初始化,最后执行构造器的其余部分,这个过程依次向外进行。

7、组合和继承,一般组合用的多一些。

8、final:final可用于三个地方:1.变量和引用、2.方法、3.类。当final被用于变量时就规定了变量的数值不可被改变,当用在引用时就表示该引用不可被更改指向其他的对象,但是对象自身却是可以被更改的。当final被用在方法上时,方法将被锁定不允许被覆盖。当final用在类上时,表示该类不允许被继承。

9、被private修饰的方法不是基类接口的一部分,只是隐藏在程序里的一部分,当有子类用public和同样的方法名命名一个方法时,这个方法并没有覆盖基类相同方法名的方法 ,这个方法是只是属于子类的新方法。

猜你喜欢

转载自blog.csdn.net/weixin_41072833/article/details/80356143
今日推荐