停笔良久,好久没用写博客,十分抱歉!最近由于工作需要,把Java基础又看了一遍,总结了一些知识点,方便自己今后的学习查阅,也希望对大家有所帮助。
Java会给一个实例变量赋初始值,所有的整数型基本数据裂隙,初始值都是0,Boolean型的初始值是FALSE,char的初始值是0,引用的初始值是null。
构造方法没有返回值类型(不能使用void),但是构造方法可以使用return。
构造方法名必须与类名一样。
只有同时具备以上两个条件,一个方法才是一个构造方法。
构造方法只能由Java平台在创建对象的时候去默认的调用,在普通方法内是不能够调用构造方法的,但是可以在构造方法中调用Java的普通方法,Java的构造方法可以调用另一个构造方法。
构造方法本身并不能够创建出一个对象,真正创建对象的是Java平台,构造方法只是Java平台在创建出一个对象之后会去默认调用的一个方法,仅此而已。
package 语句必须是源文件中有效代码的第1行。
import 语句的一种使用语法是:import + 空格+ 类全限定+;
在源代码中通过使用import语句预先引入的类的全限定名,可以在源代码中使用这些类,直接使用类名而无须使用类的全限定名。
源文件中的import语句可以有多个。
import+空格+包的全限定名+.+* 可以引入一个包中的所有类,这里的所有类不包含子包中的类。
使用StringBuffer生成想要的内容,然后将内容转换成为String对象使用,是一种典型的做法,也是为什么StringBuffer和String是一对“最佳拍档”。
String对象的一个重要特性就是其内容不能改变,所以每次内容变更都会生成一个新的String 对象。
StringBuffer类其实更像是一个String对象构造器,它的作用就是构造出一组字符,然后使用这组字符生成String类的对象。
继承的语法格式:子类类名+extends+父类类名
在父类中,使用public修饰符修饰可能被子类覆盖的方法。
在子类中,使用与父类完全相同的方法签名、访问控制符和返回值类型。
instanceof 运算符可以判断一个引用指向的对象所属的类,是不是某个类或者某个类的子类。
在java源文件中可以保存多个类的定义,但是只能由一个类用public修饰。
使用final关键字修饰一个类,代表这个类不可以被继承,final关键字要放在类的访问控制符后面,放在class关键字的前面。格式:public final class UseFinal
使用final关键字修饰的方法不可以被子类覆盖。
为了避免外部类直接操作成员变量的值,在没有特殊需要的情况下,我们应该尽量使用private访问控制符修饰成员变量。
变量的覆盖:类似方法的覆盖,如果子类从父类中继承了一个变量,而同时子类本身中也定义了一个类型与变量名相同的成员变量,那么子类的变量将覆盖父类的变量。对于变量的覆盖,我们会得到哪个变量的值取决于引用的类型而不是引用指向的对象类型。和静态方法一样,静态变量是不存在覆盖的。
在成员变量的覆盖中,引用属于哪个类,就会得到哪个类的对象的成员变量。这与引用指向的对象无关。
尽量不要使用变量的覆盖。