java匿名内部类,多态,接口练习
1多态以及接口调用方法:
public class Interface {
public static void main(String[] args) {
Al x = new Al();
jian a = x;
System.out.println(a.sub(, ));
// 使用接口引用调用的方法
animal zz = new animal();
zz.jiao();
zz = new dog();
zz.jiao();
zz = new cat();
zz.jiao();
//多态
}
}
interface jia{
public int add(int x, int y);
}
interface jian{
public int sub(int x, int y);
}
interface cheng{
public int mul(int x, int y);
}
interface chu{
public int del(int x, int y);
}
class Al implements jia,jian,cheng,chu{
public int sub(int x, int y){
return x - y;
}
public int add(int x, int y){
return x + y;
}
public int mul(int x, int y){
return x * y;
}
public int del(int x, int y){
return x / y;
}
}
class animal{
public void jiao(){
System.out.println("我是animal");
}
}
class dog extends animal{
public void jiao(){
System.out.println("汪汪");
}
}
class cat extends animal{
public void jiao(){
System.out.println("喵喵");
}
}
2.匿名内部类练习:
public class 匿名内部类 {
public void drink(Beverages drink){
System.out.println("运动员在饮用" + drink);
}
public static void main(String[] args) {
DustMan dm = new DustMan();
dm.cleanWithBroom();
dm.cleanWithDustCollector();
匿名内部类 sp = new 匿名内部类();
sp.drink(new Beverages("橙汁"){
public void addsomething(){
System.out.println("橙汁老司机开车了");
}
});
sp.drink(new Beverages("可乐"){
public void addsomething(){
System.out.println("可乐老司机开车了");
}
});
sp.drink(new Beverages("雪碧"){
public void addsomething(){
System.out.println("雪碧老司机开车了");
}
});
sp.drink(new Beverages("芬达"){
public void addsomething(){
System.out.println("芬达老司机开车了");
}
});
sp.drink(new Beverages("绿茶"){
public void addsomething(){
System.out.println("绿茶妹妹开车了");
}
});
}
}
class DustMan{
public void cleanWithBroom(){
Utility util = new Utility(){
public void clean(){
System.out.println("正在清洁卫生。。。");
}
};
util.clean();//调用前面的方法;
}
public void cleanWithDustCollector(){
ElectronicUtil util = new ElectronicUtil(){
public void clean(){
System.out.println("正在用吸尘器清洁卫生。。。");
}
};
util.clean();//调用前面的方法;
}
}
interface Utility{
public void clean();
}
class ElectronicUtil{
public void clean(){
System.out.println("使用电子设备清洁卫生....");
}
}
class Beverages{
private String juiceName;
public Beverages(String name){
this.juiceName = name;
}
public String toString(){
return juiceName;
}
}
java匿名内部类,多态,接口练习的更多相关文章
- 学习博客之Java继承多态接口
这一篇博客主要是对软工前一阶段学习的总结,主要是对Java的学习总结,包括三部分:Java的继承.多态和接口 Java的继承 继承是面向对象的三大特性之一,能够实现软件的复用. Java子类继承父类的 ...
- Java中多态、抽象类和接口
1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: ...
- Java 面向对象之接口、多态
01接口的概念 A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成 ...
- 1.Java基础-面向对象编程思想(封装继承多态接口)
封装: 1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. 2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的 ...
- Java面向对象(接口、多态)
面向对象 今日内容介绍 u 接口 u 多态 第1章 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的 ...
- java基础(11):接口、多态
1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成. ...
- 记录:JAVA抽象类、接口、多态
JAVA抽象类.接口.多态 1. 多态 定义 多态是同一个行为具有多个不同表现形式或形态的能力.(多态就是同一个接口,使用不同的实例而执行不同操作) 如何实现多态 继承和接口 父类和接口类型的变量赋值 ...
- 第五节:详细讲解Java中的接口与继承
前言 大家好,给大家带来详细讲解Java中的接口与继承的概述,希望你们喜欢 什么是接口(interface) 接口中的方法都是抽象方法,public权限,全是抽象函数,不能生成对象 interface ...
- 关于java中多态的理解
java三大特性:封装,继承,多态. 多态是java的非常重要的一个特性: 那么问题来了:什么是多态呢? 定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行 ...
- 深入Java核心 Java中多态的实现机制(1)
在疯狂java中,多态是这样解释的: 多态:相同类型的变量,调用同一个方法时,呈现出多中不同的行为特征, 这就是多态. 加上下面的解释:(多态四小类:强制的,重载的,参数的和包含的) 同时, 还用人这 ...
随机推荐
- 【转】Devexpress使用之:GridControl控件(合并表头)
Devexpress系列控件功能很强大,使用起来也不太容易,我也是边摸索边使用,如果有时间我会把常用控件的使用方法整理出来的. using System; using System.Collectio ...
- ibatis使用--SqlMapClient对象
SqlMapClient对象 这个对象是iBatis操作数据库的接口(执行CRUD等操作),它也可以执行事务管理等操作.这个类是我们使用iBATIS的最主要的类.它是线程安全的.通常,将它定义为单例. ...
- IOS6和IOS7的屏幕适配问题
自从IOS7出来以后,以前写在IOS6上或者更低版本的程序,跑在IOS7的模拟器上就会出现一些问题.最大的问题就是,所有的UI空间都会统一向上移动20个点(如果空间的y值为0,就会被StatusBar ...
- FileZilla 安装配置参考
http://www.admin10000.com/document/72.html 解决 NAT issue https://wiki.filezilla-project.org/Network_C ...
- angularJS自定义过滤器、服务和指令
自定义过滤器 mainApp.filter('mayfilter',function(){ return function(input){ (过滤逻辑代码) } }); 自定义创建指令 mainA ...
- ssh-agent自启动加key脚本
公司使用到阿里云. 需要使用 ssh-agent forward 来跳转.为了方便自己就写了这个脚本 1 #!/bin/sh 2 # auto start ssh-agent and add key ...
- log在线生成器 html中如何设置浏览器中标题前的logo
制作logo的地址:http://www.logomaker.com.cn/ 设置网站logo的方法 在<head></head>标签之间输入<link rel=&quo ...
- clearInterval()与setInterval()的应用
1.setInterval()按照一定的周期调用函数2.clearInterval()取消setInterval()的周期调用 例如:图片轮播中的clearInterval()与setInterval ...
- jdk,j2ee,j2se,j2me的概念区别
jdk,j2ee,j2se,j2me的概念区别1.JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包.J2EE是Java 2 ente ...
- php中对象的串行化
我们大家有知道PHP串行化可以把变量包括对象,转化成连续bytes数据,你可以将串行化后的变量存在一个文件里或在网络上传输,然后再反串行化还原为原来的数据.文章这里就PHP串行化为大家详细的介绍.你在 ...