欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java面向对象之继承extends 入门实例

程序员文章站 2022-10-06 18:55:43
一、基础概念 (一)继承的好处: 1.继承:提高了代码的复用性。 2.让类与类之间产生了关系,给多态这个特征提供了前提。 (二)继承的种类: 1.单继承:一个类只能有一个父类。 2.多继承:一个类可以有多个父类。 3.java支持单继承,不直接支持多继承。(因为多继承调用的不稳定性) (三)继承使用 ......

一、基础概念

  (一)继承的好处:

     1.继承:提高了代码的复用性。

     2.让类与类之间产生了关系,给多态这个特征提供了前提。

  (二)继承的种类:

     1.单继承:一个类只能有一个父类。

     2.多继承:一个类可以有多个父类。

        3.java支持单继承,不直接支持多继承。(因为多继承调用的不稳定性)

  (三)继承使用时候:

     1.当事物之间存在着所属关系时。可以通过继承来体现这个关系。

      如:XXX是YYY的一种。XXX extends YYY

     2.父类中私有的部分,子类对象是无法直接访问的。子类对象通过setXXX和getXXX进行访问。

二、实例代码

 1 //将student类和worker类共享的代码抽取到Person类中,形成一个父类Person。
 2 class Person
 3 {
 4     //父类中私有的部分,子类对象通过setXXX和getXXX进行访问。
 5     private String name;
 6     int age;
 7     
 8     public void setName(String name)
 9     {
10         this.name = name;
11     }
12     public String getName()
13     {
14         return this.name;
15     }
16     void sleep()
17     {
18         System.out.println("Name: "+name+",age: "+age+"   sleep ......");
19     }
20 }
21 
22 //student类继承了Person类的属性和方法(通过关键字extends继承)
23 class Student extends Person
24 {
25     //可以拥有自己的方法study
26     void study()
27     {
28         System.out.println("name: "+this.getName()+",age: "+age+"   study ......");
29     }
30 }
31 
32 //worker类继承了Person类的属性和方法
33 class Worker extends Person
34 {
35     //可以拥有自己的方法work
36     void work()
37     {
38         System.out.println("name: "+this.getName()+",age: "+age+"   work ......");
39     }
40 }
41 class ExtendsDemo
42 {
43     public static void main(String[] args)
44     {
45         //创建一个实例p,赋给name和age,并输出sleep方法和study方法。
46         Student p = new Student();
47         p.setName("xiaoming");
48         p.age = 18;
49         p.sleep();
50         p.study();
51         //创建一个实例s,赋给name和age,并输出sleep方法和study方法。
52         Worker s = new Worker();
53         s.setName("laoli");
54         s.age = 38;
55         s.sleep();
56         s.work();
57     }
58 }

三、代码运行

  Java面向对象之继承extends  入门实例