/* 抽象类和接口的异同点: 相同点: 都是不断向上抽取而来的. 不同点: 1,抽象类需要被继承,而且只能单继承. 接口需要被实现,而且可以多实现. 2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法. 接口中只能定义抽象方法,必须由子类去实现. 3,抽象类的继承,是is a关系,在定义该体系的基本共性内容. 接口的实现是 like a 关系,在定义体系额外功能. 犬按功能分:有导盲犬,搜爆犬. abstract class 犬 { abstract void 吼叫()…
1.抽象类 在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象.从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象.甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现. 这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”.包含一个或多个抽象方法的类也必须被声明为抽象类. 使用 abstract 修饰符来表示抽象方法和抽象类. 抽象类除了包含抽象方法外…
前言 Java基础-进阶继承,抽象类,接口 进阶继承 class Stu { int age = 1; } class Stuo extends Stu { int agee = 2; } class Demo{ Stuo stuo = new Stuo(); } 成员变量的特殊情况 成员函数 class Stu{ void show(){ System.out.println("Stu show"); } } class Stue extends Stu{ void show(){…
一.抽象类 1.理解 用abstract关键字定义的类,称为抽象类用abstract关键字定义的方法,称为抽象方法意义:当设计父类时,发现该父类根本不需要创建对象,并且里面有不好描述的方法.这个时候往往将该父类设计成抽象类! 2.abstract关键字 abstract属于一种修饰符,只能用于修饰类或方法,不能修饰属性.构造器.局部变量 3.抽象类 语法: [修饰符] abstract class 类名{}特点: ①抽象类不可以使用final修饰符,原因:和抽象类的意义冲突(final修饰的类不…
最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 三.面向对象基础 四.集合概述 五.泛型入门 六.异常处理 七.输入输出 八.多线程 九.反射 一.数据类型和运算符 这一块基本上各种语言都大同小异 基本数据类型: 整数类型:byte 1个字节 short 2个字节 int 4个字节 long 8个字节 字符类型:char 2个字节 浮点类型:fl…
在C#基础知识之类和结构体中我详细记录了类.类成员.重载.重写.继承等知识总结.这里就记录一下对面向对象和面向对象三大特性的广义理解. 一.理解面向对象 类是面向对象编程的基本单元,面向对象思想其实就是教给我们如何合理的运用类的规则去编写代码. 二.理解面向对象的三大特性 1.封装 封装就是通过给类及类中的成员变量.属性和方法设置不同的访问修饰符(public.protected.internal.protected internal.private)来控制它们的作用范围,以达到封装的目的. 2…
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 1.抽象类: 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体.但在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确地知道这些子类如何实现这些方法.例如定义了一个Shape类,这个类应该提供一个计算周长的方法calPerimeter(),但不同Sha…
JAVA基础课程部分面向对象已经学习完成,知识结构如下: 总体知识框架: 类的结构: 面向对象编程三大特征: 关键字和抽象类接口等: 常见知识汇总: 成员变量和局部变量比较 有无返回值方法比较: 权限修饰符: this和super比较…
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选文章的开源项目,希望它能伴随你我一直进步! 说明:此项目我确实有很用心在做,内容全部是我参考了诸多博主(已注明出处),资料,N本书籍,以及结合自己理解,重新绘图,重新组织语言等等所制.个人之力绵薄,或有不足之处,在所难免,但更新/完…
抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有: 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类:但不包含抽象方法的类也可以是抽象类 不能创建抽象类的实例,抽象类里可以有构造方法,但只是用来给子类调用的 抽象类可以包含类的5大要素:成员变量.抽象方法或非抽象方法.构造器.初始化块.内部类(接口.枚举) 抽象方法的来源: 自己定义了一个抽象方法 继承了一个抽象父类,却没有全部实现其抽象方法 实现了一个接口,但没有全部实现其抽象方法 注意区…