Day08
代码块
-
局部代码块:在方法里
语法`{
代码块的代码
}- 好处:生命周期是随着代码块的执行完就销毁,节省内存空间。
-
构造代码块:放在类里 `
{ 代码块的代码 }
- 好处:
- 给成员变量赋值
- 如果类里面的某一个方法要在实例化的时候执行,就可以把代码块放入方法里
- 说明
- 这个代码是由jvm执行的
- 每次new对象的时候,都会执行这个代码块
- 代码块优于构造方法先执行
静态代码块:放在类里面
static{
代码块的代码
}
- 好处:
- 在加载区驱动
- 加载配置的文件
- 说明:
- 是由jvm执行的
- 这个代码块只会加载一次
- 优先于构造的执行
- 好处:
-
同步代码块:在方法里
- 在多线程中保证安全
继承
所有类的直接父类与间接父类都是Object
父类private的,子类都不可以继承
不能继承父类的构造,但是可以调用父类的构造
-
变量:
- 父类:超类、基类
- 子类:派生类
- 注意:在继承中,父类是获取不到子类的东西。
- 子类与父类有相同的成员变量,在实例化的时候,先获取子类的成员变量,然后结束;如果子类没有,就获取父类的成员变量,如果都没有,则报错。
- 获取变量的 的三种方法:1.直接获取2.this3.获取super父类的变量。
-
方法
- 获取父类的方法:this.父类的方法名
- 与获取成员变量类似,在实例化对象的时候:对象调用子类的方法是,先调用子类的方法,若子类没有这个方法,则向父类调用,如果有,则停止调用父类的方法。
- 方法的重写:在继承中,方法名是相同的,参数是一样的
- 重写的意义:子类调用父类的方法的同时,也可以做自己想做的事。
- @Override 看到这个注解肯定重写了父类的方法
- 子类方法返回值的作用域不能大于父类方法返回值的作用域
- 访问修饰符:子类的访问修饰符不能严于父类
-
构造
- 子类在调用:如果没有调用父类的其他构造,系统会默认调用父类的无参构造。
- 子类可以调用父类重载的构造 语法:super(参数值)
- 调用父类的构造必须放在第一句,一个构造只能有一个super()且放在第一句
-
this用法:this.成员变量的名字 this.方法名字() this.调用构造方法
-
super:super.父类成员量 super.方法名() super()父类的构造
-
java是单继承,只能有一个父类,但是可以有间接的父类
-
继承的好处:可扩展性、可维护性。坏处:耦合度比较高
-
final:可以修饰类,被修饰的类不可以被继承
- 父类里被修饰的方法不能被继承
- 成员变量:修饰时一定要给它赋值,设置后就不能在改变
- 局部变量:在局部变量中可以不给其默认值,但一旦设置后就不能改变
- 在开发中final和static配合使用