Java基础之抽象篇
来源:互联网 发布:alexa软件 编辑:程序博客网 时间:2024/06/10 01:46
抽象
一 概念
看不清
被abstract修饰的类 叫抽象类
被abstract修饰的方法 叫抽象方法
抽象类的特点:
1.抽象方法一定在抽象类中
2.抽象方法和抽象类都必须用 abstract关键字修饰
3.抽象类不可以用new创建对象 抽象类无法实例化 因为调用抽象方法没意义
4.抽象类中的方法想要被使用 必须由子类重写其所有抽象方法 建立子类对象调用
如果只覆盖部分 会继承父类的抽象方法 那么子类也是个抽象类
5.一个抽象类中可以包含抽象方法和非抽象方法 但一个方法被抽象修饰,它所在的类必须是抽象的
抽象类可以不定义抽象方法
抽象的好处?
抽象父类 让 子类 必须完成父类的全部抽象方法
功能不确定 子类去做
抽象类和普通类一样
普通类描述行为 属性 抽象类也一样 该怎么描述还怎么描述
抽象类中 有构造函数 但是 由于"抽象"对类的限定 使得这个抽象修饰的类无法创建对象
abstract只是一个修饰符 如果定义的抽象类中没有抽象方法 那么这么定义只是为了不让该类创建对象
二 语法格式
抽象类
访问权限修饰符 abstract class 类名{
//普通属性
//普通方法
//抽象方法
}
抽象方法
访问权限修饰符 abstract 返回值类型 方法名(形参列表);
若一个普通子类继承一个抽象子类 该抽象子类又继承一个抽象的父类
那么 该普通子类必须得重写抽象父类中所有的抽象方法
但是 抽象子类已重写过的抽象方法 普通子类就不需要重写了
模板方法设计模式
当代码完成优化后,就可以解决这类问题
什么是模板方法呢?
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的.而确定的部分在使用不确定的部分
那么这时就将不确定的部分暴露出去,由该类的子类去完成
不要记代码 记思想
一 概念
看不清
被abstract修饰的类 叫抽象类
被abstract修饰的方法 叫抽象方法
抽象类的特点:
1.抽象方法一定在抽象类中
2.抽象方法和抽象类都必须用 abstract关键字修饰
3.抽象类不可以用new创建对象 抽象类无法实例化 因为调用抽象方法没意义
4.抽象类中的方法想要被使用 必须由子类重写其所有抽象方法 建立子类对象调用
如果只覆盖部分 会继承父类的抽象方法 那么子类也是个抽象类
5.一个抽象类中可以包含抽象方法和非抽象方法 但一个方法被抽象修饰,它所在的类必须是抽象的
抽象类可以不定义抽象方法
抽象的好处?
抽象父类 让 子类 必须完成父类的全部抽象方法
功能不确定 子类去做
抽象类和普通类一样
普通类描述行为 属性 抽象类也一样 该怎么描述还怎么描述
抽象类中 有构造函数 但是 由于"抽象"对类的限定 使得这个抽象修饰的类无法创建对象
abstract只是一个修饰符 如果定义的抽象类中没有抽象方法 那么这么定义只是为了不让该类创建对象
二 语法格式
抽象类
访问权限修饰符 abstract class 类名{
//普通属性
//普通方法
//抽象方法
}
抽象方法
访问权限修饰符 abstract 返回值类型 方法名(形参列表);
若一个普通子类继承一个抽象子类 该抽象子类又继承一个抽象的父类
那么 该普通子类必须得重写抽象父类中所有的抽象方法
但是 抽象子类已重写过的抽象方法 普通子类就不需要重写了
模板方法设计模式
当代码完成优化后,就可以解决这类问题
什么是模板方法呢?
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的.而确定的部分在使用不确定的部分
那么这时就将不确定的部分暴露出去,由该类的子类去完成
不要记代码 记思想
阅读全文
0 0
- Java基础之抽象篇
- java基础之抽象方法
- java基础之----抽象类
- java基础之抽象类
- java基础之抽象类
- java基础之--抽象类
- java基础之继承、抽象、接口
- Java基础之抽象类与接口
- java基础之接口与抽象
- java基础之抽象和接口
- Java学习基础之继承、抽象、接口
- Java基础之继承,抽象类,接口
- Java语言基础之抽象类
- java基础之抽象类和接口
- java基础之抽象类和接口
- java基础之抽象类和接口
- Java基础之(十九)抽象类
- java基础之抽象类和接口
- DataBinding 基础使用
- cocos2dx ios app名称添加国际化
- Java新特性-----可变参数,for增强型
- 高可用架构学习笔记--1
- Conda环境移植(克隆)的远程方案
- Java基础之抽象篇
- 在TabNavigator中使用Navigation报错undefined is not an object (this.props.navigation.navigate)
- Redis专题之Windows下Redis的安装及使用
- “System.Data.SqlClient.SqlException”类型的未经处理
- 值得推荐的C/C++框架和库
- HDU
- 一行代码搞定漂亮的Android6.0权限申请界面
- Nexus 6p Android及kernel代码下载
- shell中单引号和双引号的使用总结