java继承

1、什么是继承

在面向对象中 继承就是一个类得到了另外一个类当中的成员变量和成员方法;

java中只支持单继承(java只支持单继承,不允许多继承)

即 一个子类只能继承一个父类 ;一个父类可以拥有多个子类

wKiom1L9grLzL-0ZAABmOoTElJk876.jpg

-------------------------------------------------------------------------

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();

   }

}

wKiom1L9iVDQTI0KAADaQL_l8d4474.jpg

说明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特有的wKiom1L9i_3xjiIHAAE7gM42FjQ623.jpg


你可能感兴趣的:(java,继承,extend)