类的继承总结
继承
1、继承的实现
2、继承的限制
3、public、private、protected的区别
4、重写、重载的区别是怎样的?
———————————————————————————————————————————————
继承的实现
(1)继承的基本概念:扩展父类的功能
(2)Java中使用extends关键字完成继承
(3)格式:
class 子类 extends 父类{}
———————————————————————————————————————————————
继承的限制
(1)在Java中只允许单继承(一个孩子只有一个爸爸)
(2)子类不能直接访问父类的私有成员
子类对象的实例化
注意要先调用父类的构造方法,再执行子类的构造方法。(构造方法是创建时自动执行的)
继承时继承了父类的属性和方法
但是子类能否使用父类的方法决定于访问修饰符
———————————————————————————————————————————————
public、private、protected的区别?
Java用三个关键字在类的内部设定边界:public、private、protected。这些访问指定词决定了紧跟其后被定义的东西可以被谁使用。
public表示紧随其后的元素对任何人都是可用的。
private表示除类型创建者和类型的内部方法之外的任何人都不能访问的元素。
protected的作用与private作用相当,差别仅在于继承的类可以访问protected成员,但是不能访问private成员。
还有一种默认的访问权限,当没有使用之前说的三个访问指定词(访问修饰符),它将发挥作用,它也被称为包访问权限,因为在这个权限下,类可以访问在同一个包中的其他类的成员,但在包外就如同private一样了。
访问权限
作用域比较:private(只能在当前类中进行访问)<protected(在同一包内进行访问,或者不同包下但有继承关系可以访问)<public(整个工程中都能进行访问)
这里有很好的说明:http://jingyan.baidu.com/article/bad08e1e8e9a9b09c851219f.html
———————————————————————————————————————————————
重写、重载的区别是怎样的?
什么是重载?
实例:
public void tell(int i,String k){
}
public void tell(String j){
}
注意:
public int tell(){
}
public String tell(){
}//这样不是重载
什么是重写?
在继承中存在着重写的概念:其实就是子类定义了和父类同名的方法。(方法名称相同、返回值类型相同、参数也相同)
重写的限制
被子类重写的方法不能拥有比父类方法更加严格的访问权限。其实一般情况下,子类和父类同名方法的访问权限相同。
重载与重写之间的比较:
重载 重写
单词:Overloading Overriding
定义:方法名称相同,参数 方法名称、参数的类型、
的类型或个数不同 返回值类型全部相同
权限:对权限没有要求 被重写的方法不能拥有比父类更严格的权限
范围:发生在一个类中 发生在继承中