static、this、封装、继承
This
1. 是啥
this是每个对象中,保存当前内存地址的一个引用类型变量
出来的时候表示当前对象
谁调用的当前方法,this就是谁
2. 干啥的
2.1 区分同名的局部变量和成员变量
前面加this.xxx就相当于这个方法里的值
2.2 不能出现在静态上下文中
在静态状态中出现会报错,显示引用了非静态变量
2.3 链式调用
一个方法1中最后加了return this;以后,其他方法2调用了这个方法以后又返回调用这个方法1的方法2,再继续调用其他方法3,从而实现方法2先调用方法1后又到了方法3最后回来,从而实现链式调用
2.4 调用重载的构造方法
this(参数):必须在构造方法第一行,为了避免代码重写
Static
1. 是啥
static是一个修饰符,区分静态属性和成员属性
2.干啥的
3. 怎么用
3.1 静态方法和静态变量
static int a = 2;
static static void a(){
}
3.2 静态语句块
类似静态方法但是没有名字,不能重复执行
类加载完以后,自动执行,main方法被调用前自动执行
从上往下依次执行
3.3 动态语句块
3.4 静态属性调用
3.5 静态和成员的区别
静态是所有对象共享
成员是所有对象独立(不共享)
如果对象有相同的属性不同的值,使用成员变量
如果对象有相同的属性相同的值,使用静态变量
软件包机制
1 package
2. import
编写代码时,当我们按空格 或者是 回车的时候,会自动导包,需要注意,是否导入的正确
权限修饰
规定一个数据的访问范围
继承 entends
1. 是啥
Java中只支持单继承,不支持多继承,这样使继承关系比较简单,一个类 只有一个父类,易于程序管理,当然为了解决单继承功能变弱的问题,java又提出了接口,一个类可以实现N个接口
如果一个类,没有显示继承几个父类的话,则该类默认继承java.lang.Object
不管如何继承,最终任何类都直接/间接的成为Object的子类
Object是java提供的根类(祖宗)
Private不能被继承,但是可以通过getter/setter对私有属性进行操作
构造方法不能被继承
目的 : 代码重用
最大的功能扩展 : 方法覆写
2. 干啥的
1 代码重用,父类进行编码之后,子类可以直接使用
2 如果父类的功能不能满足子类需求,还可以对功能进行重写
3 使用多态
3. 怎么用
class 子类名 extends 父类名{
}
Super
1.是啥
父类型的特征
this是对当前对象引用
2. 干啥的
3. 怎么用
3.1 区分父类和子类相同的类型
类名 : 区分同名的局部变量和静态变量
This : 区分同名的局部变量和成员变量
Super : 区分父子类中同名的变量和方法
3.2 super注意事项
成员方法中,用super要用.的形式访问
静态方法中,不能用
3.3 调用父类的构造方法
不写super()的时候,也会默认调用一个父类的无参构造