黑马程序员_抽象类和接口
------- android培训、java培训、期待与您交流! ----------
★抽象类
- 我们在定义一个类的时候,常常需要定义方法来描述该类的行为特征,
- 但有的时候这个(方法)的{方法体}怎样写无法确定,所以,java
- 中允许在定义一个类的时候不写方法体,但是这样的类必须加上abstract关键字来修饰。
- 没有方法体的抽象类是不能被直接调用的,如果想调用抽象类中的方法,
- 就需要创建一个子类,在子类中将抽象类的方法进行实现。
package cn.itbasis;
/*
* 演示一个抽象类中如何建立子类调用这个抽象类的抽象方法
* 需要一个抽象类Animal,一个测试类main,一个Dog类
* Dog类继承抽象类Animal类
*/
public class ChouXiangLei {
//主函数
public static void main(String[] args) {
Dog dog = new Dog();
dog.shout();
}
}
//创建一个抽象类
abstract class Animal{
//定义抽象方法
abstract void shout();
}
//定义Dog类继承抽象类Animal
class Dog extends Animal{
//在实现抽象类方法shout()
void shout(){
System.out.println("汪... ...");
}
}
★接口:定义接口用interface 实现接口用implements
- 如果一个类中的所有的方法都是抽象的,则可以将这个类用另外一种方式来表示,即接口
- 接口需要要interface关键字来声明
- 由于接口中的方法都是抽象方法,因此不能通过实例化对象的方式来调用接口中的方法。
- 此时,需要定义一个类,并使用implements关键字实现接口中的所有方法。
package cn.itbasis;
public class ImplementsDemo {
public static void main(String[] args) {
Dog dog = new Dog();
dog.breathe();
dog.run();
}
}
//定义一个Animal接口
interface Animal{
//定义全局变量
int ID = 1;
//定义抽象方法breathe()
void breathe();
//定义抽象方法run()
void run();
}
//Dog类实现Animal接口
class Dog implements Animal{
//实现breathe()方法
public void breathe(){
System.out.println("狗狗在呼吸");
}
//实现run()方法
public void run(){
System.out.println("狗狗在跑");
}
}
- 接口:定义接口用interface 实现接口用implements
- 接口中的方法都是抽象的,不能被实例化,就不能调用其方法,而使用implements关键字实现接口
- 中的方法,可以使部分实现,也可以使全部都实现。
- 接口可以通过extends多继承,中间用逗号隔开。
- 一个类可以通过implements多实现,被实现的多个接口之间用逗号隔开。
黑马程序员_抽象类和接口相关推荐
- 黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结
黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日 day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合 ...
- 黑马程序员_异常(老毕视频总结及《疯狂java》补充)
----------------------<ahref="http://edu.csdn.net"target="blank">ASP.Net+A ...
- 黑马程序员_石头迷阵小游戏
黑马程序员_石头迷阵小游戏 源代码 一些说明: 1)这些是我看b站黑马程序员的视频,自己手打的,想分享一下,如果有侵权啥的请联系我,马上删除 2)一些比较重要的我都有给注释 3)工具idea idk版 ...
- 黑马程序员_基础测试
-------android培训.java培训.期待与您交流! ---------- 黑马程序员训练营基础测试题及个人代码(包含思路.步骤和基本注释) 1. 编写程序计算12+22+32+....+1 ...
- 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...
商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...
- 黑马程序员_面向对象
java是面向对象的编程,下面我想通过自己对java的学习,来谈谈对面向对象的理解. 给大家说一个非常熟悉的例子:老张开车去东北.用面向对象的方式考虑这个问题:车,找个司机,然后告诉司机我要 ...
- 黑马程序员_集合总篇_基础之重点
------- <a href="http://www.itheima.com" target="blank">android培训</a> ...
- 黑马程序员_面向对象03
------- android培训.java培训.期待与您交流! ---------- 现在我们来看看面向对象的继承. 继承是从已有的类中派生出新的类新的类能吸收已有类的数据属性和行为,并能扩展新的能 ...
- 黑马程序员_常见异常
--------------------android培训.java 培训.期待与您交流! ---------------------- 算术异常类:ArithmeticExecption 空指针异常 ...
最新文章
- 织梦 新建 php arclist,织梦arclist按照自定义字段来调用相关文章
- MySql -- 数据结构
- 一直以来都没直视的轮播-_-
- P1791-[国家集训队]人员雇佣【最大权闭合图】
- java sqlite 操作_Java SQLite 数据库操作
- P3615 如厕计划
- HTML5 postMessage解决跨域|跨窗口通信
- 小甲鱼c语言课后作业作业百度云,小甲鱼c语言视频教程
- 安卓网页离线保存_Android之 -WebView实现离线缓存阅读
- IntelliJ IDEA 添加对 Extjs6 支持
- wps怎么写分段函数_“在Excel中怎么设置分段函数?(有5个分段)“excel折线图颜色...
- mtl文件的简要说明
- 【AAAI-2019】论文速读——交通领域
- Unity 物理系统 -- 碰撞体简介(碰撞、触发条件)
- Java基础 - 标识符
- ERDAS IMAGINE 9.2进行遥感影像融合
- EXT Combox
- 【问】登陆提示用户SA登陆失败
- 石子合并 动态规划(直线型)
- 思科AP修改AP名称通过WLC命令方式