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

一、基础概念

  (一)继承的好处:

     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方法和work方法。
52         Worker s = new Worker();
53         s.setName("laoli");
54         s.age = 38;
55         s.sleep();
56         s.work();
57     }
58 }

三、代码运行

  

 

posted @ 2018-04-18 17:41  竹小冉  阅读(1616)  评论(0编辑  收藏  举报