继承---解决代码重复的问题

继承:

当你为学校的学生登记信息时,他们可能名字,身高体重各不一样,但是还是有许多相同的东西,比如国籍,性别,年龄。那么你每创建一个学生你都要写一些重复的代码吗?
答案是不需要,你只需要创建一个类让需要写重复代码的对象继承(extends)它就能够直接调用这个类的属性与方法,它们就像父亲与孩子的关系,孩子继承了父亲的一些东西。
1,继承解决代码重复问题:

class People {
    int i = 1;
    String name = "王八";

    public void show() {
        System.out.println("该干嘛干嘛");
    }
}

class Student extends People {

}

class Student2 extends People {

}

class Demo1 {
    public static void main(String[] args) {
        Student s = new Student();
        System.out.println(s.i);
        s.show();
    }
}

上面的代码是继承的简单体现
2,当子类于父类属性重名时:

class People {
    int i = 1;

}

class Student extends People {
    int i = 2;

    public void show() {
        int i = 3;
        System.out.println(i);
    }
}

class Student2 extends People {

}

class Demo1 {
    public static void main(String[] args) {
        Student s = new Student();
        int i = 4;
        System.out.println(i);
        s.show();
    }
}

上面的代码中i的值真真假假傻傻分不清楚,main方法里定义的i与对象是没有关系的,你定义多少打印的就是多少。show方法也一样。但是将show方法中定义的值给注释掉又是什么结果?
其实在创建子类对象时,它为父类提供一个内存空间,当show方法打印i时他先去子类找,如果没有就去父类找,如果也没有就报错。
3,当子类方法与父类方法重名时:

class People {
    public void show() {
        System.out.println("该干嘛干嘛");
    }
}

class Student extends People {

    public void show() {

        System.out.println("我要学习,别打扰我");
    }
}

class Student2 extends People {

}

class Demo1 {
    public static void main(String[] args) {
        Student s = new Student();
        s.show();
        People p = new People();
        p.show();
    }
}

上面一段代码,介绍了子类方法与父类方法重名时怎么运行的。当创建子类时,在方法区中不仅包括子类本身的方法,还有父类的,当要调用一个方法,子类有,调用子类的,子类没有那么就调用父类的。

final

final修式的类不能被继承,final修饰的方法可以被继承但不能被修改。final代表终极形态。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,688评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,614评论 4 12
  • 01 舅舅打来电话的时候,已是深夜十一点多。 张口第一句话就是:“囡囡你那边有没有钱?”语气中透露着焦急和无助,我...
    七朵猫不是猫阅读 602评论 0 0
  • 忙碌并不代表充实,忽略了思考,啥都不是。
    于兰阅读 142评论 0 0