黑马程序员技术交流社区
标题:
【石家庄校区】就业班第一部分小结
[打印本页]
作者:
顾大圣
时间:
2017-12-22 20:38
标题:
【石家庄校区】就业班第一部分小结
本帖最后由 小石姐姐 于 2017-12-23 10:26 编辑
就业班第一部分小结
静态的概述
static 是一个关键字,用来修饰成员变量和成员方法
static特点
被所有对象所共享
可以直接使用类名一来调用
静态所修饰的成员加载优先于对象
随着类的加载而加载
生命周期不同:
静态成员 :随着类的加载而加载,随着程序结束而销毁
非静态成员:随着对象的创建而创建,随着对象的销毁而销毁
所以,静态成员的生命周期优先于非静态成员创建,晚于非成员销毁
内存中定义位置不同
静态成员,方法区中类字节 码区域的静态区中
非静态成员:堆内存中
初始化时机不同
静态成员 :类加载时初始化
非静态:创建对象时加载
代码块分四种
局部代码块:存在于方法中,控制变量的生命周期(作用截获).
构造代码块:提取构造方法中的共性,每次创建对象会执行,并且在构造方法执行之前
静态代码块 :随着类的加载而加载,只加载一次. (做类的初始化)
C:/Users/%E9%A1%BE%E5%85%AC%E7%88%B5/AppData/Local/YNote/data/qqF389022F54830711172F0070E51CA947/89d413322adb4468b2dd8137991393bc/clipboard.png
同步代码块:
执行顺序 一静态代码块 > 构造代码块>局部代码块
C:/Users/%E9%A1%BE%E5%85%AC%E7%88%B5/AppData/Local/YNote/data/qqF389022F54830711172F0070E51CA947/df4ef27c2bee43c88f657314fefba799/clipboard.png
## 静态的概述和特点
C:/Users/%E9%A1%BE%E5%85%AC%E7%88%B5/AppData/Local/YNote/data/qqF389022F54830711172F0070E51CA947/ae1d2e752c2c47f58c9f6a4454d55f46/clipboard.png
继承:extends
java中只支持单继承,不支持多继承
一个类只能有一个父类,不可以有多个父类
java中支持
多层继承
继承中成员中变量的特点 :
A 子类只能获得父类非私有成员
B 就近原则,子类中有的先调用子类的成员变量
通过super 可以获取父类 的成员变量
this 引用本类中的对象
C:/Users/%E9%A1%BE%E5%85%AC%E7%88%B5/AppData/Local/YNote/data/qqF389022F54830711172F0070E51CA947/d4a39e3a5e2b49aea221037fecf6c6a4/clipboard.png
继承中成员中方法的特点 :
override 方法的重写:在父类的当中,子类的方法和父类的完全一样,当子类重写的方法之后,使用子类对象调用的就是子类的方法
overload 方法的重载 :在一个类中,有多个重名的方法,但是期参数不一样(参数的个数,参数的顺序),和返回值无关
方法重写的应用场景:
当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法,并可以在方法中使用关键字super调用父类的方法,这个做既可以保有父类的功能,也可以拥有子类的特有的功能
方法重写的注意事项:
不能重写父类私有的方法 private
权限必须大于等于父类的方法权限
注解 @ override 用于约束被注解的方法必须是重写父类的方法,如果父类没有这个方法则 报错
继承中构造方法的执行顺序 :
在有子类父类继承关系的类中,创建子类的对象,调用子类的构造方法
如果子类构造方法的第一行代码没有调用父类的构造方法,则会默认的调用父类的无参构造
肯定会先执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会
我们可以使用super调用父类的有参构造
this和super的区别
this: 当前对象的引用
1.调用子类的成员变量
2.调用子类的成员方法
在子类的构造方法第一行调用其它子类其它构造方法
super:子类对象的父类引用
调用父类的成员变量
调用父类的成员方法
在子类的构造方法第一行调用父类构造方法
继承的优缺点
提高了代码的复用性
提高了代码的可维护性
缺点
类的耦合性增强了
开发的原则:高内聚低耦合
内聚:就是自己完成某件事的能力
耦合:类与类的关系
匿名对象
应用场景 :当方法只使用一次的时候可以使用匿名对象
注意: 匿名对象可以引用成员变量,但是没有意义
匿名对象,没有变量引用的对象
Fianl
修饰符,可以用于修饰类,成员方法和成员变量
A Fianl修饰类 :不能补继承,不能有子类
B Fianl修饰的方法:不能被重写
C Fianl所修饰的变量:不可以被修改,是常量
自定义常量必须初始化,可以选择显示初始化或者构造初始化
常量(必须初始化,)
抽象类
abstract 关键字,用于修饰方法和类
抽象方法:不同类的方法都是相似的,但是具内容又不太一样,所以我们只能抽取他的声明,没有具体的方法,没有具体的方法就是抽象方法
抽象类:有抽象方法的类必须是抽象类
注意:一个类继承了抽象类需要重写他的所有抽象方法
特点
抽象方法只能写在抽象类中
抽象类和抽象方法必须被abstract修饰
抽象类不能创建对象(不能被实利化)
抽象类可以有非抽象方法
一个类继承了抽象类,要么全部重写抽象方法,要么他也是抽象类
抽象类的成员特点:
成员变量
可以有成员变量
可以有常量
成员方法
可以有抽象方法
可以有非抽象方法
构造方法
可以有构造方法,也必须有构造方法,用于给成员变量进行初始化
C:/Users/%E9%A1%BE%E5%85%AC%E7%88%B5/AppData/Local/YNote/data/qqF389022F54830711172F0070E51CA947/ae1d2e752c2c47f58c9f6a4454d55f46/clipboard.png
继承:extends
java中只支持单继承,不支持多继承
一个类只能有一个父类,不可以有多个父类
java中支持
多层继承
继承中成员中变量的特点 :
A 子类只能获得父类非私有成员
B 就近原则,子类中有的先调用子类的成员变量
通过super 可以获取父类 的成员变量
this 引用本类中的对象
C:/Users/%E9%A1%BE%E5%85%AC%E7%88%B5/AppData/Local/YNote/data/qqF389022F54830711172F0070E51CA947/d4a39e3a5e2b49aea221037fecf6c6a4/clipboard.png
继承中成员中方法的特点 :
override 方法的重写:在父类的当中,子类的方法和父类的完全一样,当子类重写的方法之后,使用子类对象调用的就是子类的方法
overload 方法的重载 :在一个类中,有多个重名的方法,但是期参数不一样(参数的个数,参数的顺序),和返回值无关
方法重写的应用场景:
当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法,并可以在方法中使用关键字super调用父类的方法,这个做既可以保有父类的功能,也可以拥有子类的特有的功能
方法重写的注意事项:
不能重写父类私有的方法 private
权限必须大于等于父类的方法权限
注解 @ override 用于约束被注解的方法必须是重写父类的方法,如果父类没有这个方法则 报错
继承中构造方法的执行顺序 :
在有子类父类继承关系的类中,创建子类的对象,调用子类的构造方法
如果子类构造方法的第一行代码没有调用父类的构造方法,则会默认的调用父类的无参构造
肯定会先执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会
我们可以使用super调用父类的有参构造
this和super的区别
this: 当前对象的引用
1.调用子类的成员变量
2.调用子类的成员方法
在子类的构造方法第一行调用其它子类其它构造方法
super:子类对象的父类引用
调用父类的成员变量
调用父类的成员方法
在子类的构造方法第一行调用父类构造方法
继承的优缺点
提高了代码的复用性
提高了代码的可维护性
缺点
类的耦合性增强了
开发的原则:高内聚低耦合
内聚:就是自己完成某件事的能力
耦合:类与类的关系
匿名对象
应用场景 :当方法只使用一次的时候可以使用匿名对象
注意: 匿名对象可以引用成员变量,但是没有意义
匿名对象,没有变量引用的对象
Fianl
修饰符,可以用于修饰类,成员方法和成员变量
A Fianl修饰类 :不能补继承,不能有子类
B Fianl修饰的方法:不能被重写
C Fianl所修饰的变量:不可以被修改,是常量
自定义常量必须初始化,可以选择显示初始化或者构造初始化
常量(必须初始化,)
抽象类
abstract 关键字,用于修饰方法和类
抽象方法:不同类的方法都是相似的,但是具内容又不太一样,所以我们只能抽取他的声明,没有具体的方法,没有具体的方法就是抽象方法
抽象类:有抽象方法的类必须是抽象类
注意:一个类继承了抽象类需要重写他的所有抽象方法
特点
抽象方法只能写在抽象类中
抽象类和抽象方法必须被abstract修饰
抽象类不能创建对象(不能被实利化)
抽象类可以有非抽象方法
一个类继承了抽象类,要么全部重写抽象方法,要么他也是抽象类
抽象类的成员特点:
成员变量
可以有成员变量
可以有常量
成员方法
可以有抽象方法
可以有非抽象方法
构造方法
可以有构造方法,也必须有构造方法,用于给成员变量进行初始化
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2