继承
1.什么是继承?
- 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。
- extends 的意思是“扩展”。子类是父类的扩展。
- java中类只有单继承,没有多继承。
- 继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖、组合、聚合等。
- 继承关系的两个类,一个为子类(派生类),一个为父类(基类),子类继承父类,使用关键字extends来表示。
- 子类和父类之间,从意义上讲应该具有“is a ”的关系。
2.怎么用继承
- 咱们写两个程序,一个是student(子类),另一个是person2(基类)。
//学生 is 人
public class student extends person2{ //这个表示student这个类继承了另一个程序中的person2类,
}
那么student这个类就相当于派生类(子类)。
public class person2 {
public void say(){
System.out.println("我是基类(父类)");
}
String name="我是父类";
}
这个person2相当于父类(基类)。
- 除了继承,我们还可以组合(简单看一下即可)
public class student {
person2 person2;
}
- 此时咱们建立一个主程序,用来实验一下,调用这个子类中的东西,看看是否继承了person2(父类)里面的属性和方法。
public class application {
public static void main(String[] args) {
student student = new student(); //new一个student的对象,将他实例化。
student.say();
System.out.println(student.name); //根据上面的程序可以看出来,我所调用的student这个类里面并没有写say()这个
} //方法,但是在程序里面,他没有出错爆红,也就是说他是合法的。
}
===========================================
最终的输出结果
我是基类(父类)
我是父类
根据上面的程序可以看出来,我所调用的student这个类里面并没有写say()这个方法,但是在程序里面,他没有出错爆红,也就是说他是合法的。并且输出结果也是将person2(父类)中的say()方法正常调用的结果。所以这个student类(子类)继承了person2(父类)的属性和方法。
3.注意事项
- 私有的东西(private)是无法继承的。
- 在英文输入状态下,按住ctrl+h即可打开一个列表,上面可以看到继承的关系。
- java类中只有单继承,没有多继承,意思就是一个儿子只能有一个爸爸,但一个爸爸可以有多个儿子。