在一次看了java基础视频,对多态,抽象类有了新的理解:
1.多态
多态就是一个引用(类型)在多种情况下的不同状态。
比如:
一个Animal,它有一个cry() 方法,但是,这个Animal自己也不确定它是什么动物,所以,也就不知道怎么叫。
class Animal(){
public void cry(){
Sysetm.out.println("不确定怎么叫。。。。");
}
}
在这里 我们有2个类,一个是dog() ,一个是cat(),他们同样会叫,这个时候他们知道自己怎么叫了,但他们 同样是一个Animal,这个时候可以从Animal继承了。
class dog extends Animal(){
public void cry(){
//狗叫
System.out.println("旺旺叫........");
}
}
class cat extends Animal(){
public void cry(){
//猫叫
System.out.println("喵喵叫......");
}
}
*值得注意的是,当我们想人dog叫的时候,我们就实例化一个dog类,想让猫叫就实例化一个cat(),那么当我们的子类越来越多的时候,管理起来就麻烦了,这个时候我们可以父类引用指向不同的子类对象。如:
Animal an=new dog();
这时候 an.cry(); 就是调用dog的cry()方法。cry()是旺旺叫...
同样: Animal an=new cat(); an.cry() .输出是 喵喵叫....
这里体现的就是多态。当Animal没有这个cry()方法的时候,an.cry()是会出错的,是因为它无法通过父类的cry()找到子类的cry() .这里是一个方法覆盖。
2.抽象类
1.)从多态可以看出来 Animal()的cry方法不确定,当我们从父类继承过来时一直都是覆盖掉的,父类里的本身是没有用到过 ,这个时候我们可以写成抽象的方法 ,用abstract 来修饰。abstract public void cry(); 这个Animal类也要用abstract 修饰。 abstract class Animal{}
2.)抽象类 我们还是可以像正常类一样继承的,但是这个时候,要实现它的所有抽象方法。
这样真正体现了这个类设计的思想,他的意思是说,现在我还不知道你要干什么,但是一定会用,所以我留在这没有写, 是一个抽象的,只要你继承了这个抽象方法,那么你就必须要实现我的所有方法,你可以根据自己的情况,想怎么实现就怎么实现,比如,dog可以重新实现cry()想让它怎么叫就怎么叫。
3.)抽象类是不能实例化的,因为连类本身它都不知道是干什么的,他是不完全的,他怎么能被实例化呢。
4.)抽象类可以没有抽象方法,也就是说 编译器只要见到abstract了就知道是抽象方法了,同样也不能被实例化的。
5.) 抽象类不能有主体,例如:abstract public void cry(){} 这是错的!!!!!
6.)抽象类中可以有实现了的方法,只要用abstract就不能有主体了。
3.接口
一个类实现了一个接口,那么这个类就可以交给接口来使用。
比如:interface Usb{
public void start(){
System.out.println("开始工作了");
}
public void start(){
System.out.println("停止工作了");
}
}
//电话类
class phone implement Usb{
public void start(){
System.out.println("我是手机 开始工作了");
}
public void start(){
System.out.println("我是手机 停止工作了");
}
}
//电脑
class computer {
public void useUsb(Usb usb){
usb.start();
usb.stop();
}
}
当调用的时候,phone p=new phone();
computer c=new computer();
c.useUsb(p);//这是因为,phone实现了接口,所以可直接交给接口
1.)接口是更加抽象的抽象类
2.)接口中的变量是static的。在开发中,我们经常把变量放在接口中,做为全局变量使用。接口名.变量名
3.)接口不能继承其他类,可以实现其他接口
分享到:
相关推荐
Java抽象类接口与多态PPT教案学习.pptx
\\java类、抽象类、接口、继承和对象解析 .doc
【完整课程列表】 ... Java基础入门教程 Java编程技术01 java概述(2学时)(共27页).ppt Java基础入门教程 Java编程技术02 Java编程基础...Java基础入门教程 Java编程技术14 补充--对多态、抽象和接口的理解(共24页).ppt
day02-多态&抽象类&接口
多态是同一个行为具有多个不同表现形式或形态的...多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 多态性是对象多种表现形式的体现。例如,针对不同对象,计算机对按下 F1 键这个动作的响应是不同的:
掌握类的继承、方法重写、super关键字的使用、final关键字、抽象类和接口、多态的使用以及异常的处理方式 熟悉面向对象继承和多态的概念
1.多态 2.抽象类 3.接口
Java面向对象实验指导书抽象类接口多态[参考].pdf
Java抽象类和抽象方法
内容概要: 本文介绍了Java中多态...建议通过阅读相关的Java教材或搜索资料,进一步了解与多态相关的高级主题,如抽象类和接口等内容。 如有疑问,可以参考Java官方文档或向技术论坛寻求帮助,进一步加深对多态的理解。
java基础 面向对象 多态 抽象类 接口 编写的动物乐园 小程序
接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化...
JAVA开发与应用抽象类与接口及多态PPT教案学习.pptx
Java编程技术课件:06类的高级特征(对多态、抽象和接口的理解2学时).pptx
1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。
本人的笔记,关于java基础中抽象类和接口的内容 包括 1.作业回顾 2.继承规则二 3.方法重写 4.多态 5.final修饰符 6.抽象类 7.接口 8.练习
3-3 演示:示例 7 接口 接口就是某个事物对外提供的一些功能的申明 可以利用接口实现多态,同时接口也弥补了Java单一继承的弱点 使用interface关键字定义接口 一般使用接口声明方法或常量,接口中的方法只能是声明,...
面向对象程序设计与实践 第五章 Java抽象类和接口 面向对象程序设计与实践课程组 面向对象程序设计与实践-Java抽象类和接口[33页]全文共33页,当前为第1页。 教学目标 教学方式 重点知识 学习目标 1.熟悉抽象类的...
主要介绍了java封装继承多态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧