1.使用static关键字修饰成员变量表示静态的含义,此时成员变量由对象层级提升为类层级,也就整个类只有一份并被所有对象共享,该成员变量随着类的加载准备就绪,与是否创建对象无关。
2.static关键字修饰的成员可以使用引用. 的方式访问,但推荐类名.的方式。
3.在非静态成员方法中既能访问非静态的成员又能访问静态的成员。
(成员:成员变量+成员方法,静态成员被所有对象共享)
4.静态成员方法中没有this关键字,因为是通过类名.方式调用的。
在静态成员方法中只能访问静态成员不能访问非静态成员。
(成员:成员变量+成员方法,因为此时还没有创建对象)
5.构造块和静态代码块
构造块:在类体中直接使用大括号的 代码块
每次创建一个对象都会执行一次构造块。
静态代码块:使用static关键字修饰的构造块
静态代码块随着类加载时执行一次。
6.静态代码块指 Java 类中的 static { } 代码块,主要用于初始化类,为类的静态变量赋初始值,提升程序性能。
7.单例设计模式:
在某些特殊场合中,一个类对外提供且只提供一个对象时,这样的类叫做单例类,而设计的单例的流程和思想叫作单例设计模式。
实现流程:
私有化构造方法,使用private修饰。
声明本类类型的引用指向本类类型的对象,并使用private static关键字共同修饰。
提供公有的get方法负责将对象返回出去,并使用public static关键字共同修饰。
8.继承:
当多个类之间有相同的特征和行为时,可以将相同的内容提取出来组成一个公共类,让多个类组成一个公共类,让多个类吸收公共类中已有的特征和行为而在多个类型只需要编写自己独有的特征和行为的机制,叫做继承。
子类不能继承父类的构造方法和私有方法,但私有成员变量可以被继承只是不能直接访问。
无论使用何种方式构造子类的对象时都会自动调用父类的无参构造方法, 来初始化从父类中继承成员变量,相当于在构造方法中的第一行增加代码super()的效果。
9.
10.
11.
12.
13.