黑马程序员技术交流社区

标题: Java基础 关于继承类和抽象类 [打印本页]

作者: 孟卫严    时间: 2015-7-12 21:16
标题: Java基础 关于继承类和抽象类
1、为什么要继承其他类?
        首先我们要搞清楚类里都有什么?
        类里包括了属性和行为;
        你只要写了属性和行为,那么总有一部分人拥有相同的属性和方法
        如:
                学生和老师都拥有姓名、年龄、身高、性别等属性;
                学生和老师都要吃饭、睡觉、休息等行为;
        如果我们每写一个学生类和老师类都要重复定义
                姓名、年龄、身高、性别等属性;
                吃饭、睡觉、休息等行为;
        我们需要一遍一遍的private name、age、high,eat()、sleep()、rest()等
        所以我们先写一个类这个包含学生和老师的这些共性
        然后我们继承他就可以直接用,不用我们写了。
代码如下:
  1. class Person{
  2.         private String name;
  3.         private int age;
  4.         private int high;
  5.         public void eat(){
  6.                 System.out.println("吃饭");
  7.         }
  8.         public void sleep(){
  9.                 System.out.println("睡觉");
  10.         }
  11. }
  12. class Student extends Person{
  13.         //这样学生就不用写,就拥有了Person里的属性和行为,
  14.         //简化了代码的书写量和提高了代码的复用性,
  15.         //但是打破了方法的封装性

  16.         
  17. }
  18. class Teacher extends Person{

  19. }
  20. class Demo3 {
  21.         public static void main(String[] args) {
  22.                 Student s = new Student();
  23.                 s.eat();
  24.         }
  25. }
复制代码


2、为什么要有抽象类?
        把一个类抽象化,其实主要的功能是不让这个类创建对象,要用这个类里面的属性和行为必须进行覆盖,才能使用,
        注:抽象类里面的所有东西都可以用继承来实现,不用纠结为什么要有抽象类这个问题了。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2