static静态关键字:
可以被共享访问、修改
静态成员变量,静态成员方法
访问方式:
类名.静态成员变量(推荐)
对象.静态成员变量
注意事项:
静态方法只能访问静态成员,不能直接访问实例成员
实例方法可以访问实例成员和静态成员
静态方法中不可以出现this关键字
工具类:
无需创建对象,直接使用static方法
无需使用构造器,因此把构造器设为private
代码块:
静态代码块:
格式:static {}
随着类的加载而加载,并自动触发,只执行一次
构造代码块(实例代码块):较少见
格式:{}
每次创建对象时都会执行,并且在构造器之前执行
设计模式
单例模式
指一个类只能创建一个对象
饿汉单例设计模式:
定义一个类,把构造器私有(防止别人创建对象)
定义一个静态变量存储一个对象(new一个对象,提供对象)
懒汉单例模式:
真正需要对象的时候,才会创建一个对象(延迟加载对象)
定义一个类,把构造器私有(防止别人创建对象)
定义一个静态变量存储一个对象(此处不new,值为null,且为private)
提供public static方法返回一个单例对象
继承:
关键字:
extends
子类可以继承父类的属性和行为,但是子类不能继承父类的构造器
Java是单继承模式:一个类只能继承一个直接父类
Java不支持多继承,但是支持多层继承
Java中所有的类都是Object类的子类
继承后子类的构造器的特点:
子类的全部构造器默认先访问父类的无参构造器再执行自己
即默认加上了:super(),不写也存在
调用父类的有参构造器:
super(x, y);
this同理:
this(), this(x, y);
@Override
重写校验注解,加上之后,确保该方法必须正确重写
提高程序可读性