概念理解: 1.类是一组具有相同行为和属性的事物的抽象 2.继承是将多个类中相同的属性与行为抽离出来放在一个类中,由子类去继承,就不用重复写代码了
static关键字
- 对于类的一些属性,是每个对象都共有的的,只需要一份公共的来保存
- 作用:随着类的加载而运行,每个对象共享,一般使用类名调用
static修饰成员变量
- 格式:static 数据类型 变量名
- 普通的成员变量叫做实例变量
- 静态的成员变量叫做类变量
static修饰成员方法
-
特点:
- 静态成员方法在对象还没有创建,类加载的时候就有了
- 只能访问静态成员变量
- 方法里面不能有this关键字,因为this关键字代表的是类对象,而静态方法加载的时候是还没有对象
-
叫法
- 普通方法也叫实例方法
- 静态方法叫类方法
static封装工具类
一般把常用的代码用static修饰,这个类就作为工具类,可以不用创建对象就直接调用方法使用,java中带有许多工具类,一般以s结尾,例如Collections
public static int getAdd(int a, int b) {
return a + b;
}
代码块介绍
-
静态代码块
- static {}
- 在类中方法外,最先执行一次,一般用于资源的初始化
-
构造代码块(实例代码块)
- 每次都在构造器之前执行
继承
- 子类不能继承的内容:
- 构造方法不能继承,如果子类需要使用父类的构造方法要调用
- 父类的私有内容子类不能使用,只能保存
- 子类继承的内容:
- 成员变量:使用就近原则,先找自己(this.),没有再找父类(super.)
- 成员方法:就近原则,出现了方法相同时,是子类进行了方法重写,重写方法的访问权限一定要大于父类
- 构造方法:
- 子类的所有构造方法都会执行父类的无参构造方法,在子类构造方法的第一行默认有super() (所以自己写的super()一定要放在第一行),一般不会显示
- 如果子类的构造方法需要用到父类的成员变量,那么需要调用父类的有参构造方法,一定要写在第一行
继承的特点
1.类只能单继承
2.可以多层继承
3.Object是所有类的父类