Day08
代码块
概述定义在一对{}之间的代码就叫代码块
分类:
局部
定义在方法中的代码块
作用:让变量在内存中及早释放提高内存空间效率
构造
定义在类中方法外的
作用:把多个构造函数相同的代码提取出来放在代码块中,在每次构造函数调用时都运行,并且优先于构造方法执行可以给所有对象初始化
静态
定义位置:类中方法外用static修饰
作用:在类加载的时候加载给类进行初始化
特点:在类只加载一次的时候静态代码块只执行一次
同步代码块
synchronized
面试题
子父类,静态代码块,
构造代码块,构造方法,
执行顺序是什么?
第一次:父类静态代码块子类静态代码块父类构造代码块父类构造方法子类构造代码块子类构造方法
第二次:父类构造代码块父类构造方法子类构造代码块子类构造方法
继承
基本概述
什么是继承?
用extends关键字来创建类与类之间的子父类关系
继承的好处和弊端
好处
1、复用性
2、维护性
3建立了类与类之间的子父关系是多态的前提
弊端
耦合性加强了
开发原则:高内聚,低耦合。
内聚:一个类单独处理事物的能力
耦合:类与类之间的关系
Java中类的继承的特点:
1、单继承,多继承。
2、多层继承。
什么时候使用继承?
is a
类A是类B的
一种的叫法:
类A:子类,派生类
类B:父类,基类,超类。
使用继承的时候
有那些注意事项
1、子类只能继承父类所有非私有的成员
2、子类能不能使用父类的构造方法?
子类能不能继承父类的构造方法?子类不能继承父类的构造方法只能通过super()来调用父类的构造方法
3、不能为了部分功能而继承
子父类间的成员关系
成员变量
就近原则
构造方法
子类的构造方法前都有默认的super();来调用父类的空参构造。
为什么?
因为子类对象访问父类数据前,需要对父类数据进行初始化。
所有的类都直接或间接继承自Object类。 Object类的构造方法只有一个空参构造。
如果父类没有空参构造怎么办?
1、通过super(参数)调用父类的有参构造方法
2、this()来调用本类有参的构造方法,本类有参数的构造方法中又有super(参数)来调用父类的构造方法或者在本类的有参构造方法中用this()来调用本类无参数构造方法,再通过其中的super(参数来调用父类的构造方法)
成员方法
方法重写:
override
概述子类中与父类完全一样的方法连返回值类型都一样
方法重写和方法重载的区别?
方法重写:子类中与返回值类型有关,用来继承父类的功能的同时再定义自己的方法
方法重载:同一个类中方法名相同参数列表不同的方法,与返回值类型无关
方法重写和方法重载哪个能改变
返回值的数据类型方法重载
this和super的区别
this表示本类对象的引用this可以调用本类对象的成员也可以调用父类的成员this(...)表示调用本类的构造方法
super表示本类对象父类的引用super只能调用父类的成员,super()表示调用父类的构造方法
final
概述:
最终的意思,是一个关键字
类:被修饰的类不能被继承
成员方法被修饰的方法不能被重写
成员变量是一个常量
修饰局部变量的:
基本类型:不能改变被修饰的那个值的大小
值
引用类型
修饰的是对象的地址值,对象的变量可以被修改
修饰变量的时候
初始化的时机
1、显示初始化,开发中较常用。
子主题 1
2、对象构造完毕前初始化。
子主题 1
代码块
概述定义在一对{}之间的代码就叫代码块
分类:
局部
定义在方法中的代码块
作用:让变量在内存中及早释放提高内存空间效率
构造
定义在类中方法外的
作用:把多个构造函数相同的代码提取出来放在代码块中,在每次构造函数调用时都运行,并且优先于构造方法执行可以给所有对象初始化
静态
定义位置:类中方法外用static修饰
作用:在类加载的时候加载给类进行初始化
特点:在类只加载一次的时候静态代码块只执行一次
同步代码块
synchronized
面试题
子父类,静态代码块,
构造代码块,构造方法,
执行顺序是什么?
第一次:父类静态代码块子类静态代码块父类构造代码块父类构造方法子类构造代码块子类构造方法
第二次:父类构造代码块父类构造方法子类构造代码块子类构造方法
继承
基本概述
什么是继承?
用extends关键字来创建类与类之间的子父类关系
继承的好处和弊端
好处
1、复用性
2、维护性
3建立了类与类之间的子父关系是多态的前提
弊端
耦合性加强了
开发原则:高内聚,低耦合。
内聚:一个类单独处理事物的能力
耦合:类与类之间的关系
Java中类的继承的特点:
1、单继承,多继承。
2、多层继承。
什么时候使用继承?
is a
类A是类B的
一种的叫法:
类A:子类,派生类
类B:父类,基类,超类。
使用继承的时候
有那些注意事项
1、子类只能继承父类所有非私有的成员
2、子类能不能使用父类的构造方法?
子类能不能继承父类的构造方法?子类不能继承父类的构造方法只能通过super()来调用父类的构造方法
3、不能为了部分功能而继承
子父类间的成员关系
成员变量
就近原则
构造方法
子类的构造方法前都有默认的super();来调用父类的空参构造。
为什么?
因为子类对象访问父类数据前,需要对父类数据进行初始化。
所有的类都直接或间接继承自Object类。 Object类的构造方法只有一个空参构造。
如果父类没有空参构造怎么办?
1、通过super(参数)调用父类的有参构造方法
2、this()来调用本类有参的构造方法,本类有参数的构造方法中又有super(参数)来调用父类的构造方法或者在本类的有参构造方法中用this()来调用本类无参数构造方法,再通过其中的super(参数来调用父类的构造方法)
成员方法
方法重写:
override
概述子类中与父类完全一样的方法连返回值类型都一样
方法重写和方法重载的区别?
方法重写:子类中与返回值类型有关,用来继承父类的功能的同时再定义自己的方法
方法重载:同一个类中方法名相同参数列表不同的方法,与返回值类型无关
方法重写和方法重载哪个能改变
返回值的数据类型方法重载
this和super的区别
this表示本类对象的引用this可以调用本类对象的成员也可以调用父类的成员this(...)表示调用本类的构造方法
super表示本类对象父类的引用super只能调用父类的成员,super()表示调用父类的构造方法
final
概述:
最终的意思,是一个关键字
类:被修饰的类不能被继承
成员方法被修饰的方法不能被重写
成员变量是一个常量
修饰局部变量的:
基本类型:不能改变被修饰的那个值的大小
值
引用类型
修饰的是对象的地址值,对象的变量可以被修改
修饰变量的时候
初始化的时机
1、显示初始化,开发中较常用。
子主题 1
2、对象构造完毕前初始化。
子主题 1
|
|