类
成员变量、构造方法、方法(复习)
代码块、内部类(今天)
代码块:
1、创建一个对象前需要做的准备工作(赋值、计算等准备工作)
(1)构造方法(在创建对象时被调用)
(2)静态变量(类被加载便存在,但只是一个变量,只能存一个值)
(3)静态方法(类被加载时便加载成功,需要主动调用才执行)
2、代码块在对象创建之前优先被调用,大括号里面就是优先执行的内容
3、类里面可以有多个代码块,执行顺序即出现的先后顺序,如果后面的和前面重复,前面的会被覆盖
4、代码块的修饰符只有static,只能变成静态代码块,但静态代码块里面不能调用成员变量和实例方法
5、尽量不在类里面写多个代码块,会影响使用和阅读
6、代码块没有名称
静态内部类
1、定义一个类可以在多个地方:
(1)单独创建一个文件管理一个类
(2)直接在文件里面,类A的上面和下面创建(同一个文件里面创建多个类)
(3)直接在某个类A内部创建一个类
一个类A依附于另一个类B
继承
1、公有内部类可以被子类继承,私有不行
2、内部类可以直接访问外部类属性方法,外部不可直接访问外部,要通过对象
3、变相多继承(传递)
4、所有类都直接或间接继承Object类
5、当调用子类的一个方法时,如果没有,就到父类寻找
6、方法的重写前一般要加上@Override
7、如果在子类里面需要调用父类的方法或显示父类的属性,加上super
8、什么情况下需要在一个方法中调用super的对应方法?
如果一个方法需要完成某个功能又不能单独完成,必须要父类进行相应工作 (1)父类做完子类再操作 (2)子类先做,再调用父类
如果子类需要重新实现父类的方法,需要重写
9、如果父类有自定义的构造方法,子类的构造方法必须显示调用父类构造方法
10、继承时加上extends
11、继承时的权限:public公有,子类可以完全继承
private私有,子类不可继承
protected受保护的,可以被子类重写,同一个包里外部可以访问,包外部无法访问
12、如果父类有内部类,子类中有同名内部类,父类中的就被屏蔽了
非要使用父类中的内部类,只能使用全名(完整路径)
多态polymorphic
1、同一个方法在不同的子类中有不同的实现(同一个方法多种实现)
2、如果有继承关系,子类的对象可以使用父类变量接收(类型的自动向上转换)
感悟
状态不好要及时调整,身体是革命的本钱
网友评论