栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

OOP下半部分-Java与生活

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OOP下半部分-Java与生活

OOP下半部分
  • 2-1-1 需求重定义
  • 2-1-2 继承
  • 2-2-2 饿狼传说之多层继承
  • 2-2-3 方法的重写
  • 2-2-4 super啃老
  • 2-2-5 啃老啃到彻底
  • 2-2-6 final
  • 2-2-7 提出新的问题
  • 2-3-1 抽象与具体——抽象类的衍生
  • 2-3-2 抽象方法和抽象类的使用
  • 2-3-3 接口
  • 2-3-4 class和interface的区别哲学气息
  • 2-4.1 多态——花木兰替父从军
  • 2-4-2 匿名内部类
  • 3-1-1 权限修饰符
  • 3-1-2 Object

2-1-1 需求重定义

人们养宠物会有很多的选择,除开狗以外还会有猫、老鼠、熊、猪等等等。那这个时候我们的宠物系统
要如何维护呢?

2-1-2 继承

根据问题提出概念:继承
或许我们会有许多方法去维护这个,但是你会发现你会写上许多重复的代码。但是有没有一个办法可以
将这些重复的代码进行一个归类和总结呢?
显然是可以的,这个时候我们就会用到继承。
什么是继承?泛指把前人的作风、文化、知识等接受过来。
那这个时候我们把重复的代码放在一块,然后让其他的宠物接受过来,这也是一种继承。我可以创造一
个类叫宠物或者动物,这样其他的宠物都可以在这个类中继承他们相同的地方。
继承的关键词是 extends


在上述代码中我们把原来属于Dog的内容转移到了Pet中,使用 extends ,最后在主函数中还是可以看
到我们可以和以前一样使用,并且 Cat在继承Pet以后也可以像狗一样实践,这样就使得我们的代码的复
用性很强,也符合了大众化。

2-2-2 饿狼传说之多层继承

多层继承 灰太狼家族
就是一层一层的继承,爷爷到爸爸、爸爸到孙子这种

public class Dogs extends Animal{
}
public class Labrador extends Dogs {
}

一个类不能直接继承多个类,java是单继承语言。
比如说这样:class A extends B,C 不能这样写,因为java不支持多继承。
但是可以像下面这样实现继承多个类:class A extends B,class C extends A,这样C就同时继承了B和A两个类了。

2-2-3 方法的重写

在类继承了另外一类,但是对一些方法需要进行修改的时候就需要用到方法的重写。
比如动物吃东西

    @Override
    public void breaking() {
        super.breaking();
//        System.out.println("喵喵");
    }
    @Override
    public void breaking() {
//        super.breaking();
        System.out.println("汪汪");
    }


动物叫,这是它自己拥有的特性,是他自己写的,不是来自它爸的,它从它爸爸那革新了
子类自己认为,应该打破它父亲的传统,进行革新,革新的内容就是方法体

super 这个函数是继承原来的,如果要改写就需要将这个注释掉
重载与重写override的区别

2-2-4 super啃老

引用父类的方法

2-2-5 啃老啃到彻底

构造方法的重写
继承无法继承父类的构造函数,所以还需要重写构造方法,这样才可以进行对象的初始化


    public Animal(String name, String variety, int age, String food) {
        this.name = name;
        this.variety = variety;
        this.age = age;
        this.food = food;
    }

    public Animal() {

    }
    public Cat(String name, String variety, int age, String food) {
        super(name, variety, age, food);
    }

    public Cat() {
    }
}
    public Dogs(String name, String variety, int age, String food) {
        super(name, variety, age, food);
    }

    public Dogs() {
    }
}

2-2-6 final

用final定义的类不能再被继承
用fianl定义的方法不能再被重写
用final定义的变量是常量不能再被修改

2-2-7 提出新的问题 2-3-1 抽象与具体——抽象类的衍生 2-3-2 抽象方法和抽象类的使用 2-3-3 接口 2-3-4 class和interface的区别哲学气息 2-4.1 多态——花木兰替父从军 2-4-2 匿名内部类 3-1-1 权限修饰符 3-1-2 Object
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530727.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号