抽象方法与抽象类
时间:2019-09-03
本文章向大家介绍抽象方法与抽象类,主要包括抽象方法与抽象类使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package cn.learn.chouxiang; /* 抽象方法:就是在成员方法前加上abstract关键字,去掉大括号,分号结束 实际意义一般在父类表示某种东西的行为,但行为的发生情况不一样 抽象类:含有抽象方法的类必须是抽象类,抽象类中不必包含抽象方法 如何使用抽象类和抽象方法: 1.不能直接 new 抽象类,必须用子类继承抽象类 2.子类必须重写抽象类所有的抽象方法,不用再加abstract 3.子类来创建对象 注意:子类构造方法中会有默认super调用父类构造方法 没有抽象方法的抽象类,也不能直接new,设计模式中会使用得到 若最高抽象父类含该事物的所有抽象方法 但第一个继承的子类无法唯一区分父类的重写,可以仍为抽象类,重写父类的某一抽象方法,其余的抽象继续由下面的子类继续重写,以此类推 */ public abstract class Animals { public Animals(){ System.out.println("父类构造方法执行"); } //抽象方法 public abstract void eat(); }
package cn.learn.chouxiang; public class Cat extends Animals { public Cat(){ //默认有个super调用父类的构造方法 System.out.println("子类构造方法执行"); } @Override public void eat() { System.out.println("我是继承了抽象类的cat,我必须重写所有抽象方法"); } }
package cn.learn.chouxiang; public class BeginEat { public static void main(String[] args) { Cat cat=new Cat(); cat.eat(); //父类构造方法执行 //子类构造方法执行 //我是继承了抽象类的cat,我必须重写所有抽象方法 } }
原文地址:https://www.cnblogs.com/huxiaobai/p/11456379.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle参数解析(processor_group_name)
- [Oracle故障处理]记一次PX msg pool 4031错误的处理
- WPF的布局-Grid(表格布局)
- C# 通过遍历设置控件属性
- C# 软件开机启动
- Java之映射
- C# 武汉肺炎全国疫情实时信息图
- brew报错:`initialize': Version value must be a string; got a NilClass () (TypeError)
- gitlab和gitlab项目迁移
- Qt5+VS2017点击按钮打开新窗口
- C#连接MySQL数据库
- 了不起的 IoC 与 DI
- QT之UDP通信
- [Oracle 日常管理]bbed的安装
- WPF内存优化