前面介绍了类的常见用法,令人感叹面向对象的强大,几乎日常生活中的所有事物,都可以抽象成Java的基类及其子类.然而抽象操作也有副作用,就是某个抽象而来的行为可能是不确定的,比如半夜鸡叫,如果是公鸡则必定“喔喔喔”地叫,如果是母鸡则必定“咯咯咯”地叫,可要是不能确定这只鸡是公鸡还是母鸡抑或小鸡,系统怎么知道它会怎么叫?落实到鸡类Chicken的定义代码中,它的call方法便无法给出具体的叫声了,尽管鸡类能够派生出公鸡类和母鸡类,再在公鸡类和母鸡类重写call方法,但是外部仍然可以创建鸡类的实例,接…
接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问:  抽象类是否可继承实体类 (concrete class) 答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数. 答案很明确,可以继承.其实从Object就是个实体类,Java的API文档里,每个抽象类的条目里都明确写着直接或间接继承自Object,所以这点是没有疑问的. 关键在于这答案里所说的“前提是实体类必须有明确的构造函数”一句,是什么意思. 一般学习…
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员被static修饰之后,多了一种访问方式,除了可以被对象调用之外还可以被雷鸣直接调用(类名.静态成员) static关键字,修饰变量,只保存最后一个值,立即改,立即用. static关键字是一个修饰符说白了意思就是用static修饰成员以后,这个成员就变成大家共有的了 ,任意一个对象可以调用它并且也…
一,构造方法的特点 面向对象的思想是如何在java展现的呢? 就是通过类和对象 类是一组相关的属性和行为的集合.是一个抽象的概念. 对象是该类事物的具体表现形式.具体存在的个体. 一.抽象类的抽象方法的特点是什么? 被abstract修饰的类称为抽象类 特点: 1.抽象类不能有对象(不能用new关键字来实例化对象) 2.抽象方法一定是在抽象类的,但是抽象类不一定有抽象方法 3.子类继承抽象类必须重写抽象类中的抽象方法 4.使用extends关键字来继承 要注意的是抽象方法没有方法体 二.抽象类的…
更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML图来分析 如图:接口+抽象类都是成对出现,Collection 和 AbstractCollection:List 和 AbstractList.ArrayList 继承了AbstractList,同时实现了List 接口. 再看下其他集合的UML 图,看看是不是也是这样设计的 这样设计的意义 有的…
继承与抽象类解决工人与学生的问题 抽象类实例 package com.swift; public abstract class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public…
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一章-初识java JAVA基础第二章-java三大特性:封装.继承.多态 类与对象 什么是类? 类是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法). 什么是对象? 对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象. 所以总结来说的…
接口可以多实现 Java中抽象类只能单继承 接口   相对于类来说    可以实现多个接口 抽象相对于 类来说 只能单一继承 一个类只能继承一个抽象类,但可以实现多个接口. 抽象类中可以包含抽象方法和非抽象方法,而接口中的所有方法均为抽象的. 子类继承抽象类必须实现抽象类中所有抽象方法,否则子类也必须是抽象类.而子类实现接口则必须实现接口中的所有抽象方法. 1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系.但是,一个类却可以实现多个inter…
目录 抽象类介绍 为什么要用抽象类 一个抽象类小故事 一个抽象类小游戏 接口介绍 接口与类相似点: 接口与类的区别: 接口特性 抽象类和接口的区别 接口的使用: 接口最佳实践:设计模式中的工厂模式 接口与抽象类的本质区别是什么? 基本语法区别 设计思想区别 如何回答面试题:接口和抽象类的区别? 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第一百零六章:匿名内部类与抽象类接口注意事项 下一章 "全栈2019"Java第一百零七章:匿名内部类与构造方法注意事项 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&quo…