1、继承 2、抽象类 3、综合案例---员工类系列定义

今日内容介绍
1、继承
2、抽象类
3、综合案例---员工类系列定义
 






###01继承的概述
*A:继承的概念
    *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系
        *b:在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,
            构建出来的新类被称作子类,现有类被称作父类
      *B:继承关系的子类特点  
        *a:子类会自动拥有父类所有非private修饰的属性和方法

###02继承的定义格式和使用
*A:继承的格式
    class 子类 extends 父类 {}
*B:雇员(Employee)与研发部员工(Developer)案例:
    *cn.itcast.demo01包下:
    *Employee.java:
/*
* 定义员工类Employee
*/
class Employee {
String name; // 定义name属性

public void work() {// 定义员工的工作方法
System.out.println("尽心尽力地工作");
}
}
        *Developer.java:
    /*
* 定义研发部员工类Developer 继承 员工类Employee
* 继承了父类中所有非private修饰的成员变量
*/
class Developer extends Employee {
// 定义一个打印name的方法
public void printName() {
System.out.println("name=" + name);
}
}
        *测试员工类与研发部员工类:
            /*
       * 定义测试类
             */
public class Example01 {
public static void main(String[] args) {
Developer d = new Developer(); // 创建一个研发部员工类对象
d.name = "小明"; // 为该员工类的name属性进行赋值
d.printName(); // 调用该员工的printName()方法
d.work(); // 调用Developer类继承来的work()方法
}
}
        *通过子类对象既可以调用自身的非private修饰的成员,也可以调用父类的非private修饰的成员


###03继承的好处
    *A:继承的好处:
        *1、继承的出现提高了代码的复用性,提高软件开发效率。
        *2、继承的出现让类与类之间产生了关系,提供了多态的前提。


###04继承的注意事项 
*A:继承的注意事项 
*a:在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的。
     class A{} 
     class B{}
     class C extends A,B{}  // C类不可以同时继承A类和B类
  假如支持多继承例如:
             class A{
              int a=3;
                public void method(){


                }
             } 
     class B{
      int a=5;
      public void method(){


      }
     }
     class C extends A,B{
                
     } 
     class Demo{
      public static void main(String[] args){
      C c=new C();
      System.out.println(c.a);//到底是调用A的还是B的成员变量??无法确定
      c.method();//到底是调用A的还是B的成员方法??无法确定
      }
     }
   
      *b:多个类可以继承一个父类,例如下面这种情况是允许的(就像你爹可以多个儿子,但是这些儿子都只有一个爹)
     class A{}
     class B extends A{}
     class C extends A{}   // 类B和类C都可以继承类A
 
     *c:在Java中,多层继承是可以的,
        即一个类的父类可以再去继承另外的父类,
        例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。下面这种情况是允许的。
     class A{}
     class B extends A{}   // 类B继承类A,类B是类A的子类
     class C extends B{}   // 类C继承类B,类C是类B的子类,同时也是类A的子类
     
          *d:在Java中,子类和父类是一种相对概念,
            也就是说一个类是某个类父类的同时,也可以是另一个类的子类。
            例如上面的这种情况中,B类是A类的子类,同时又是C类的父类。






###05继承的体系.avi 11:00
   *A:继承的体系:


                  动物(吃)
                    |
           -------------------------
           |                        |
        猫科动物(吃,胎生)      爬行动物(吃,卵生)
           |                            |
-------------------------------        -----------------      
     |                 |        |                |
猫(吃,抓老鼠,胎生)   虎(吃,领地,胎生)  蛇(吃,冬眠,卵生)  鳄鱼(吃,潜水,卵生)
    
    
    *a:动物体系是对每个具体事物共性的抽取,子类的共性抽取形成父类
    *b:父类:具有所有子类的共性内容
       子类:不但有共性还有自身特有的内容
    *c:整个继承体系,越向上越抽象,越向下越具体








###06
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值