1、继承:向上追溯,对同一批类的抽象,延续和扩展父类的一切信息!

1)关键字:extends      例如,父类是Animal,子类是Dog;   eg: public class Dog extends Animal

    2)父类也称超类,可用super引用

    3)子类也称派生类:必须继承父类,可以继承父类的属性和方法

      重写:在子类中,方法名、形参、个数、类型、顺序相同!     关键字:@Override

      重载:在同一个类中,名称相同的,  形参个数、类型、顺序不同!

       注意:继承父类的方法时,因父类不满足要求了,我们需要重写父类的方法。

      eg: @Override
           public void eat() {
              System.out.println("猫吃鱼");
          }

    4)注意事项:属性不能被重写!
                              私有方法、静态方法、final方法 不能被重写!
                              重写前提需要继承!

2、继承的好处:

      重用代码、避免重复、重写方法、新曾方法、提高了效率!

3、Object类

是所有类的祖先,任何一个类都直接或者是间接的继承了Object!
           如果一个类没有显示extends任何类,默认的继承Object类!

4、例子:功能:Aniaml类,Dog类,Cat类

  1. /*
    *Animal 类
    */
  2.  
  3. public class Animal extends Object{
  4. //颜色
  5. String color;
  6. //年龄
  7. int age;
  8.  
  9. public void eat(){
  10. System.out.println("动物吃饭");
  11. }
  12.  
  13. public void sleep(){
  14. System.out.println("动物睡觉");
  15. }
  16.  
  17. public void introduce(){
  18. System.out.println("自我介绍:颜色:"+color+",age:"+age);
  19. }
  20. @Override
  21. public String toString() {
  22. return "动物的颜色:"+color+",年龄:"+age;
  23. }
  24.  
  25. }
  1. //Dog类
  2.  
  3. public class Dog extends Animal{
  4. //狗自己特有的属性
  5. String name;
  6. String type;
  7.  
  8. //特有的看门的方法
  9. public void guard(){
  10. System.out.println("小狗"+name+"在看门,是人类的好朋友");
  11. }
  12.  
  13. @Override
  14. public void eat() {
  15. System.out.println("小狗"+name+"在吃饭");
  16. }
  17. @Override
  18. public void sleep() {
  19. System.out.println("小狗"+name+"在睡觉");
  20. }
  21.  
  22. @Override
  23. public void introduce() {
  24. System.out.println("dog:color:"+color+",age:"+age+",name"+name+",type:"+type);
  25. }
  26. @Override
  27. public String toString() {
  28. return "狗的名称:"+name+",年龄;"+age+"岁,种类"+type+",颜色:"+color;
  29. }
  30. }
  1. //Cat类
  2.  
  3. public class Cat extends Animal{
  4. String name;
  5. String sex;
  6. @Override
  7. public void eat() {
  8. System.out.println("猫吃鱼");
  9. }
  10.  
  11. @Override
  12. public void sleep() {
  13. System.out.println("猫看不见它睡觉");
  14. }
  15.  
  16. @Override
  17. public void introduce() {
  18. System.out.println(name+"喵喵的叫");
  19. }
  20. @Override
  21. public String toString() {
  22. return "猫的名称:"+name+",年龄:"+age+"岁,性别"+sex+",颜色:"+color;
  23. }
  24.  
  25. }
  1. //TestAnimal
  2.  
  3. public class TestAnimal {
  4. public static void main(String[] args) {
  5. Animal an =new Animal();
  6. an.age=2;
  7. an.color="yellow";
  8. an.eat();
  9. an.sleep();
  10. an.introduce();
  11. System.out.println(an.toString());
  12. System.out.println("---------------");
  13.  
  14. Dog dog =new Dog();
  15. dog.age=3;
  16. dog.color="black and blue";
  17. dog.name="旺财";
  18. dog.type="拉布拉多";
  19. dog.eat();
  20. dog.sleep();
  21. dog.introduce();
  22. dog.guard();
  23. System.out.println(dog.toString());
  24. System.out.println("---------------");
  25.  
  26. Cat cat =new Cat();
  27. cat.age=2;//父类的属性
  28. cat.color="白色";//父类的属性
  29. cat.name="图图";//孩子自己独有的
  30. cat.sex="母";//孩子自己独有的
  31. cat.eat();//重写了
  32. cat.sleep();//重写了
  33. cat.introduce();//重写了
  34. System.out.println(cat);
  35. }
  36.  
  37. }

 

        

JAVA核心技术--继承(1)的更多相关文章

  1. JAVA核心技术--继承

    1.继承:向上追溯,对同一批类的抽象,延续和扩展父类的一切信息! 1)关键字:extends      例如,父类是Animal,子类是Dog;   eg: public class Dog exte ...

  2. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

  3. Java核心技术点之泛型

    1. Why ——引入泛型机制的原因 假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象.然而,过了一阵,我们想要实现一个大小 ...

  4. Java核心技术点之集合框架

    1. 概述     Java集合框架由Java类库的一系列接口.抽象类以及具体实现类组成.我们这里所说的集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据.集合类型就是容纳这些对象的一个容 ...

  5. java核心技术学习笔记之一程序设计概述

    Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...

  6. Java的继承、封装与多态

    Java的继承.封装与多态 基本概念 面向对象OO(Object Oriented):把数据及对数据的操作方法放在一起,作为一个相互依存的整体,即对象. 对同类对象抽象出共性,即类. 比如人就是一个类 ...

  7. Java核心技术第五章——1.类、超类、子类(2)

    继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译 ...

  8. java的优点和误解 《java核心技术卷i》第一章

    <java核心技术卷i>第一章主要内容包括三点: 1:Java白皮书的关键术语:描述Java的十一个关键字: 2:Java applet 3 :关于Java的常见误解   1:第一章:Ja ...

  9. JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)

    一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...

随机推荐

  1. python 构建自己的log系统

    python的logging模块提供了记录程序运行情况的日志功能,类似于Apache的log4j,很好很强大,这里我们就来看一下Python中内置的日志模块logging用法详解 logging模块简 ...

  2. DP&图论 DAY 4 下午图论

    DP&图论  DAY 4  下午 后天考试不考二分图,双联通 考拓扑排序 图论 图的基本模型 边: 有向边构成有向图 无向边构成无向图 权值: 1.无权 2.点权 3.边权 4.负权(dij不 ...

  3. Vue-2:官方教程学习

    1,先把下面这些内容都按照官方教程敲一遍,打好基础,类似于“前戏”,其作用我想爸爸就不必多说了吧(づ。◕‿‿◕。)づ. https://cn.vuejs.org/v2/guide/ 同时可以配合配套视 ...

  4. Struts2与Servlet API的解耦访问

  5. 必会SQL笔试题

    ()表名:购物信息 购物人 商品名称 数量 A 甲 B 乙 C 丙 A 丁 B 丙 …… 给出所有购入商品为两种或两种以上的购物人记录 答:); ()表名:成绩表 姓名 课程 分数 张三 语文 张三 ...

  6. wpf 父控件和子控件 各自触发鼠标按下事件

    父控件 PreviewMouseDown子控件 MouseDown

  7. java程序 避免重复启动的方法

    http://www.cppblog.com/biao/archive/2010/12/23/137254.html package swingtest; import java.io.File; i ...

  8. 利用fiddler+nginx模拟流量识别与转发

    最近看到一些关于全链路压测的文章,全链路压测主要处理以下问题: 数据清洗压测流量标记,识别 压测流量标记的传递测试数据与线上数据隔离等等... 要实现全链路压测,必然要对原有的业务系统进行升级,要怎么 ...

  9. 【LeetCode】18、四数之和

    题目等级:4Sum(Medium) 题目描述: Given an array nums of n integers and an integer target, are there elements ...

  10. sqlalchemy orm的cascade的参数

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,Text ...