1、什么是继承
在面向对象中 继承就是一个类得到了另外一个类当中的成员变量和成员方法;
java中只支持单继承(java只支持单继承,不允许多继承)
即 一个子类只能继承一个父类 ;一个父类可以拥有多个子类
-------------------------------------------------------------------------
class Person{
String name;
int age ;
void eat (){
System.out.println("吃饭");
}
void introduce (){
System.out.println("我的名字是" + name + ",我的年龄是" + age);
}
}
-------
/*
extends 由student 这个类继承Person这个类
此情况下student就是子类,而Person就是父类
此情况下 student同样拥有在Person中所有定义的age name的成员变量
*/
class Student extends Person{
}
------
/*Student中并没有定义任何成员变量,
Test如果可以编译成功则证明Student继承了Person中的所有的成员变量
*/
class Test{
public static void main (String args []){
Student student = new Student();
student.name = "张三";
student.age = 20 ;
student.eat();
student.introduce();
}
}
说明Student继承Person成功。。Test执行成功。
-------------------------------------------------------
Student 同时可以有自己的成员变量 如下子类继承父类的同时可以自己加上自己特色成员变量
class Person{
String name;
int age ;
void eat (){
System.out.println("吃饭");
}
void introduce (){
System.out.println("我的名字是" + name + ",我的年龄是" + age);
}
}
-------
/*
extends 由student 这个类继承Person这个类
此情况下student就是子类,而Person就是父类
此情况下 student同样拥有在Person中所有定义的age name的成员变量
*/
/*
extends 由student 这个类继承Person这个类
此情况下student就是子类,而Person就是父类
此情况下 student同样拥有在Person中所有定义的age name的成员变量
*/
class Student extends Person{
int grade;
void study(){
System.out.println("我是学生, 我要学习");
}
}
------
/*Student中并没有定义任何成员变量,
Test如果可以编译成功则证明Student继承了Person中的所有的成员变量
*/
class Test{
public static void main (String args []){
Student student = new Student();
student.name = "张三";
student.age = 20 ;
student.grade = 3;
student.eat();
student.introduce();
student.study();
}
}
我是学生我要学习是Student特有的