1).掌握继承的定义、实现、作用
2).掌握继承的特点
3).掌握子父类成员变量,成员方法的访问顺序
4).掌握super的使用
5).掌握this的使用
6).掌握重载和重写的区别
8).掌握Eclipse中常用的快捷键
1、继承
定义: 从一个已有的类中派生处一个新的类,子类具有父类的一般特性,以及自身特殊的特性
实现:继承需要符合的关系: is--a ,父类更通用,子类更具体
[类的修饰符] class <子类名> extends <父类名>
{
<域定义> ;//属性
<方法定义>;
}
特点:
(1)、子类具有父类的一般特性(属性和行为),以及自身特殊的特性,
(2)、子类可以从父类那里继承所有非private的属性和方法作为自己的属性 (除了构造函数(构造器)),
也可以新增子类自己的属性和方法。构造函数不能被继承
2、什么是继承?为什么要使用继承?
定义: 从一个已有的类中派生处一个新的类,子类具有父类的一般特性,以及自身特殊的特性
优点: 减少代码的冗余,增强代码的可复用性
总结:
OO基本特征 定义 具体实现方式 优势
封装 隐藏实现细节, 属性私有化,添加 增强代码的可维护性
对外提供公共的 公有的setter、getter 提高代码的安全性
访问接口 方法
继承 从一个已有的类中派生 [类的修饰符] class <子类名> extends <父类名> 增强代码的可复用性
处一个新的类, 减少代码的冗余
子类具有父类的一般特性,
多态 同一对象在不同时刻表现 父类或(接口)的引用指向子类(实现类)的对象, 提高程序的可扩展性,
出来的不同状态(行为) 和可维护性
3、继承的特点:
A:Java只支持 单继承,不支持 多继承。
B:Java支持多层(重)继承(继承
不要为了获取部分功能,而去使用继承。
4、研究子父类成员变量的访问顺序
1)、通过子类访问一个成员变量的时候:
A:首先在局部范围找,如果有就使用。
B:继续在子类的成员位置找,如果有就是使用。
C:最后在父类中找,如果有就使用。
D:如果找不到就报错。
2)、在子类中,输出局部范围的值,输出成员变量的值
A:局部变量的值,直接输出变量名即可。
B:成员变量,输出 this.即可。
3)、输出父类成员变量的值
C:父类的成员变量,输出 super 即可。
5、super的使用【熟练使用】
1)super关键字
(1).由于继承,子类中可以使用 this 访问父类非私有的属性和方法,
但如果子类隐藏了父类的属性和方法,(隐藏的原因是因为子类重新定义了自己的属性和方法)如果需要明确的指明父类的
属性和方法,就要用 super 。
例如:super.show(); super.name
(2).使用super可以调用父类的构造方法.
例如:super(),super(name,password)
2)super();
1、作用:是调用父类无参构造函数,若父类为有参,则super会报错,应该使用super(参数1,参数2.....)
2、使用位置:是子类构造函数的第一条语句
3、注意点:
1).只能是子类构造函数中的第一条语句位置
2).如果没有出现super();会有一个默认隐藏的super();
3).如果父类只有有参构造函数,那么super()就会报错。
注意: super();//是构造函数的第一条语句。是调用父类无参构造函数,常被隐藏,即使没有子类的构造函数,仍然会被调用并打印父类的构造函数
3)super(形参1,形参2...);
1、作用:调用父类有参构造函数
2、使用位置:子类构造函数的第一条语句
3、注意点:
1).只能是子类构造函数中的第一条语句位置;
2).如果没有出现super(形参1,形参2...);不会有一个默认隐藏的super(形参1,形参2...);
3).注意参数,注意调用的父类构造函数
6、this和super的区别
this代表本类对象的引用。
super代表父类的内存空间的标识。(可以理解为父亲对象引用)
super与this一样不能用在静态方法中
1)this关键字:
this.属性名 this.方法名
this:指当前对象,调用当前对象的属性和方法
(可能是从父类继承下来的)
如果子类隐藏了父类的属性和方法,想要
访问父类的属性和方法,就要用super。
2)this();
1、作用:调用本类的无参构造函数
2、使用位置:放在构造函数的第一条语句
3、注意点:
1).必须是构造函数中的第一条语句
2).在子类构造函数中super();和this();同时使用时,二选一
3)this(参数):
1、作用:调用本类的有参构造函数
2、使用位置:有参构造函数的第一条语句
3、注意点:
1).不能自己调用自己(死循环)
2).注意参数,注意调用的本类构造函数
总结:
this和super的使用:
成员变量:this.变量 ---当前类的变量
super.变量 ---父类的变量
构造方法:用在构造方法中时
this(参数) ---本类的构造方法
super(参数) ---父类的构造方法
成员方法:
this.方法名() ---本类的方法
super.方法名() ---父类的方法
7、重写的定义:
在父类和子类中,子类的方法和父类中的某个方法,方法名相同,参数列表相同。在子类中对属性或方法重新赋值,实现子类自己的行为。则这两个方法构成重写
注意:
(1)子类重写的方法,访问修饰符范围必须大于等于父类的访问符范围。
(2)子类重写中,如果父类方法返回引用类型,方法重写遵循子类返回类型小于等于父类的返回类型。
如果父类返回类型是基本类型,则子类重写的方法返回类型要和父类的返回类型相同
8、重载和重写的区别【面试题】
重写:一定在父类和子类两个类中, 要有继承关系
重载:一定在在同一个类中
注意:
1:构造方法不可以被重写。
2:子类方法访问权限一定要大于等于父类方法访问权限。
3:静态只能覆盖静态。
思考:构造方法是否可以重写?构造方法是否可以重载?【面试题】
可以被重载,不可以被重写,因不可以为构造函数被继承
9、如果有继承关系,执行顺序如下:
父类静态代码块---子类静态代码块--父类代码块--父类构造函数--子类代码块--子类构造函数
9、整理Eclipse中常用的快捷键-补充【面试题】
(1).Ctrl+F:搜索
(2).Ctrl+H:?在整个项目中搜索
(3).Ctrl+Y:?重做(取消撤销)
(4).Ctrl+Shift+R:?打开资源
(5).Ctrl+Shift+F4:?关闭所有打开的Editer
(6).Ctrl+Shift+X:?把当前选中的文本全部变成大写
(7).Ctrl+Shift+Y:?把当前选中的文本全部变成小写
2).掌握继承的特点
3).掌握子父类成员变量,成员方法的访问顺序
4).掌握super的使用
5).掌握this的使用
6).掌握重载和重写的区别
8).掌握Eclipse中常用的快捷键
1、继承
定义: 从一个已有的类中派生处一个新的类,子类具有父类的一般特性,以及自身特殊的特性
实现:继承需要符合的关系: is--a ,父类更通用,子类更具体
[类的修饰符] class <子类名> extends <父类名>
{
<域定义> ;//属性
<方法定义>;
}
特点:
(1)、子类具有父类的一般特性(属性和行为),以及自身特殊的特性,
(2)、子类可以从父类那里继承所有非private的属性和方法作为自己的属性 (除了构造函数(构造器)),
也可以新增子类自己的属性和方法。构造函数不能被继承
2、什么是继承?为什么要使用继承?
定义: 从一个已有的类中派生处一个新的类,子类具有父类的一般特性,以及自身特殊的特性
优点: 减少代码的冗余,增强代码的可复用性
总结:
OO基本特征 定义 具体实现方式 优势
封装 隐藏实现细节, 属性私有化,添加 增强代码的可维护性
对外提供公共的 公有的setter、getter 提高代码的安全性
访问接口 方法
继承 从一个已有的类中派生 [类的修饰符] class <子类名> extends <父类名> 增强代码的可复用性
处一个新的类, 减少代码的冗余
子类具有父类的一般特性,
多态 同一对象在不同时刻表现 父类或(接口)的引用指向子类(实现类)的对象, 提高程序的可扩展性,
出来的不同状态(行为) 和可维护性
3、继承的特点:
A:Java只支持 单继承,不支持 多继承。
B:Java支持多层(重)继承(继承
不要为了获取部分功能,而去使用继承。
4、研究子父类成员变量的访问顺序
1)、通过子类访问一个成员变量的时候:
A:首先在局部范围找,如果有就使用。
B:继续在子类的成员位置找,如果有就是使用。
C:最后在父类中找,如果有就使用。
D:如果找不到就报错。
2)、在子类中,输出局部范围的值,输出成员变量的值
A:局部变量的值,直接输出变量名即可。
B:成员变量,输出 this.即可。
3)、输出父类成员变量的值
C:父类的成员变量,输出 super 即可。
5、super的使用【熟练使用】
1)super关键字
(1).由于继承,子类中可以使用 this 访问父类非私有的属性和方法,
但如果子类隐藏了父类的属性和方法,(隐藏的原因是因为子类重新定义了自己的属性和方法)如果需要明确的指明父类的
属性和方法,就要用 super 。
例如:super.show(); super.name
(2).使用super可以调用父类的构造方法.
例如:super(),super(name,password)
2)super();
1、作用:是调用父类无参构造函数,若父类为有参,则super会报错,应该使用super(参数1,参数2.....)
2、使用位置:是子类构造函数的第一条语句
3、注意点:
1).只能是子类构造函数中的第一条语句位置
2).如果没有出现super();会有一个默认隐藏的super();
3).如果父类只有有参构造函数,那么super()就会报错。
注意: super();//是构造函数的第一条语句。是调用父类无参构造函数,常被隐藏,即使没有子类的构造函数,仍然会被调用并打印父类的构造函数
3)super(形参1,形参2...);
1、作用:调用父类有参构造函数
2、使用位置:子类构造函数的第一条语句
3、注意点:
1).只能是子类构造函数中的第一条语句位置;
2).如果没有出现super(形参1,形参2...);不会有一个默认隐藏的super(形参1,形参2...);
3).注意参数,注意调用的父类构造函数
6、this和super的区别
this代表本类对象的引用。
super代表父类的内存空间的标识。(可以理解为父亲对象引用)
super与this一样不能用在静态方法中
1)this关键字:
this.属性名 this.方法名
this:指当前对象,调用当前对象的属性和方法
(可能是从父类继承下来的)
如果子类隐藏了父类的属性和方法,想要
访问父类的属性和方法,就要用super。
2)this();
1、作用:调用本类的无参构造函数
2、使用位置:放在构造函数的第一条语句
3、注意点:
1).必须是构造函数中的第一条语句
2).在子类构造函数中super();和this();同时使用时,二选一
3)this(参数):
1、作用:调用本类的有参构造函数
2、使用位置:有参构造函数的第一条语句
3、注意点:
1).不能自己调用自己(死循环)
2).注意参数,注意调用的本类构造函数
总结:
this和super的使用:
成员变量:this.变量 ---当前类的变量
super.变量 ---父类的变量
构造方法:用在构造方法中时
this(参数) ---本类的构造方法
super(参数) ---父类的构造方法
成员方法:
this.方法名() ---本类的方法
super.方法名() ---父类的方法
7、重写的定义:
在父类和子类中,子类的方法和父类中的某个方法,方法名相同,参数列表相同。在子类中对属性或方法重新赋值,实现子类自己的行为。则这两个方法构成重写
注意:
(1)子类重写的方法,访问修饰符范围必须大于等于父类的访问符范围。
(2)子类重写中,如果父类方法返回引用类型,方法重写遵循子类返回类型小于等于父类的返回类型。
如果父类返回类型是基本类型,则子类重写的方法返回类型要和父类的返回类型相同
8、重载和重写的区别【面试题】
重写:一定在父类和子类两个类中, 要有继承关系
重载:一定在在同一个类中
注意:
1:构造方法不可以被重写。
2:子类方法访问权限一定要大于等于父类方法访问权限。
3:静态只能覆盖静态。
思考:构造方法是否可以重写?构造方法是否可以重载?【面试题】
可以被重载,不可以被重写,因不可以为构造函数被继承
9、如果有继承关系,执行顺序如下:
父类静态代码块---子类静态代码块--父类代码块--父类构造函数--子类代码块--子类构造函数
9、整理Eclipse中常用的快捷键-补充【面试题】
(1).Ctrl+F:搜索
(2).Ctrl+H:?在整个项目中搜索
(3).Ctrl+Y:?重做(取消撤销)
(4).Ctrl+Shift+R:?打开资源
(5).Ctrl+Shift+F4:?关闭所有打开的Editer
(6).Ctrl+Shift+X:?把当前选中的文本全部变成大写
(7).Ctrl+Shift+Y:?把当前选中的文本全部变成小写
(8).Ctrl+Shift+P:定位到匹配符(即定位到第一个大括号或最后一个大括号)
(1).Ctrl+Q:定位到最后编辑的地方
(2).Ctrl+L:定位到某一行
(3).Ctrl+M:最大化当前的Edit或View(再按则反之)
(4).Ctrl+W:关闭当前Edit
(5).Ctrl+O:快速显示OutLine
(6).Ctrl+T:快速显示当前类的继承结构
(7).Ctrl+K:参照选中的Word快速定位到下一个
(8).Ctrl+E:快速显示当前Editedr的下拉列表
(9).ctrl+方法名():?跳转到调用的方法声明处(F3)