ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-07-21第一小组 孔海波 学习笔记

2022-07-21 19:34:31  阅读:143  来源: 互联网

标签:21 子类 void System 2022 Animal println public 07


2022-07-21第一小组 孔海波 学习笔记
今日学习情况:掌握
心情:80%
今天学习了继承相关内容,此外通过案例我对this的使用方法更加的熟悉了。

Java基础

              ——继承
继承概述
       继承是面向对象中的三大特征之一,Java中可以继承父类的属性和方法。使用方法是在声明类的时候在类名的后面加上extends关键字,随后在后面加上被继承的类名,我们来看个例子。

class  Animal {
  String animalName;
  public void eat(){
    System.out.println("我是父类的方法")
  }
}

class  Dog extends Animal{
  String dogName;
  public void drink(){
    System.out.println("我是子类的方法")
  }
}

       这里的Dog类就是继承于Animal类,我们在实例化Dog对象后可以通过对象访问animalName属性,虽然我们没有在子类中定义这个属性,但是由于Dog类继承与Animal类,所以也继承了Animal属性,方法也是相同的道理,我们可以通过Dog的对象使用eat()方法。

方法的重写
       当我们继承到父类的方法后如果在子类中需要使用到父类的方法,但是又有额外的需求时我们就会用到的方法的重写,方法的重写有以下几点规则:

       1.重写方法的权限不能低于被重写的方法//开发时一般都是等于
       2.返回值类型必须相同(如果不相同也可以返回他的子类)//开发时一般都是等于
       3.参数列表必须相同
       4.方法名必须相同
       5.不能抛出的异常比被父类的异常大
       我们举个例子

class  Animal {
  String animalName;
  public void eat(){
    System.out.println("我是父类的方法")
  }
}

class  Dog extends Animal{
  String dogName;
  public void eat(){
    System.out.println("我是子类的方法")
  }
}

       这里子类对象再调用eat()方法就调用会在子类中定义的方法。

suoer关键字

       super关键字表示父类,他与this的区别是this可以表示当前对象,super不行。super也可以在子类的构造方法中调用父类的构造方法,用法是super(),具体代码如下:

class Biology{
    private Integer age;

    public Biology(){
        System.out.println("我是生物");
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void breathe(){
        System.out.println("我在呼吸");
    }
}

class Animal extends Biology {
    private String name;
    public Animal(String s){
        super();
        System.out.println("我是动物");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void eat(){
        System.out.println("吃吃吃,你就知道吃!");
    }
}

标签:21,子类,void,System,2022,Animal,println,public,07
来源: https://www.cnblogs.com/wubishurufa/p/16503180.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有