这周二去面试实习的时候,谈谈面对对象的继承,当时回答的不是很好,周六考完六级,现在有空就记录一下继承的学习吧。
1.为什么要用到继承呢?
继承,就像妈妈和孩子们有一些共同的属性,妈妈生了一个小孩,而小孩拥有了妈妈的功能属性,小孩自己还可以学习很多东西,扩展了自己的功能和属性!
public class Mother{
private int age;
private String name;
public int getAge(){
return age;
}
public void setAge(){
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 子类
public class Son extends Mother {
public void LOL()
{
System.out.println("我会唱,跳,rap");
}
}
//实现类:
public class MainDemo {
public static void main(String[] args) {
Son son = new Son();
son.setAge(15);
son.setName("cxk");
System.out.println("son.name:"
+ son.getName()+ " ,son.age:" + son.getAge());
+ son.LOL();
}
}
显示结果:
son.name:cxk ,son.age:15
我会唱,跳,rap
可是妈妈的eat方法是喜欢吃面,小孩喜欢吃汉堡,这时候son想了个方法,重写了妈妈的eat方法,就行!
@Override
public void eat(){
System.out.println("吃汉堡");
}
由此可见在继承中有一种东西叫做重写(覆盖),妈妈有的东西我不要我就换掉。
2.java的修饰符private
父类有些东西不想给子类看到,父类就想把一些东西占为己有,就私有掉。这个时候子类就不能继承。
3.java的修饰符final
有些父类甚至想断子绝孙?那就使用final class Father
3.java的修饰符static
当父类使用static修饰他的eat方法时候子类是不能重写的!因为static修饰的方法和一般的方法不同,它是静态绑定的,所属类的!
4.java是不能多继承
但是可以传递性的基础
5.继承的好处
- 提高了代码的复用性
- 提高了代码的维护性
- 类之间产生了关系
- 是另一作用是多态的前提
6.弊端
- 提高了耦合性
- 一定程度上打破了封装