1,代码块
(1)代码块的分类:
A:局部代码块
位置:只能在方法中
作用:改变局部变量的生命周期
B:构造代码块
位置:类中方法外
作用:对于构造方法中冗余的代码方法构造代码块中,提高代码的可读性
C:静态代码块
位置:类中方法外,用static修饰
作用:加载驱动时
D:同步代码块(多线程讲)
2,继承
(1),概述
类和类之间产生了关系(父和子的关系)
(2),extends关键字
子类继承父类时使用
格式:
class Zi extends Fu {}
(3),好处和弊端
好处:
a:提高了代码的复用性
b:提高了代码的可维护性
c:继承是多态的前提
弊端:
耦合性增强了
开发的原则:高内聚,低耦合
(4),继承的特点
a:java不支持多继承
b:java支持多层继承
(5),注意事项
a:子类不能继承父类中私有的成员
b:父类的构造方法,子类不能继承,但是可以通过super访问
c:不能为了部分功能去继承
(6),什么时候使用继承
体现的是"is a"的关系
(7),分别代表什么?
this:表示当前对象的引用
super:表示当前对象父类的引用(表示当前父类对象的引用)
(8),this和super的区别
调用成员变量
this.成员变量
super.成员变量
使用构造方法
this(...) //new Studnet();
super(...)
调用成员方法
this.成员方法
super.成员方法
(9),方法重写
子类中存在和父类一模一样的方法(返回值类型可以是子父类)
使用场景:
当父类中的功能不能满足子类的需求,重写父类的方法(可以保留父类原有的功能)
(10),注意事项
a:父类中的私有方法,子类不能重写
b:子类重写父类方法,权限不能更低
c:静态方法只能覆盖静态方法(静态方法不能算重写)
案例:
学生类
属性:姓名,年龄
构造方法:无参构造,有参构造
方法:吃饭,学习
老师类
属性:姓名,年龄
构造方法:无参构造,有参构造
方法:吃饭,讲课
抽取:
Person类
属性:姓名,年龄
构造方法:无参构造,有参构造
方法:吃饭
学生类:
构造方法:无参构造,有参构造
方法:学习
老师类:
构造方法:无参构造,有参构造
方法:讲课
3,final关键字
概述:最终的意思
修饰类:类不能被继承
修饰方法:方法不能被重写
修饰变量:变量变成常量,只能被赋值一次.一般和public static 共用,定义时就赋值
//public static final PI;
|
|