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匿名内部类,多态,接口练习的更多相关文章

  1. 学习博客之Java继承多态接口

    这一篇博客主要是对软工前一阶段学习的总结,主要是对Java的学习总结,包括三部分:Java的继承.多态和接口 Java的继承 继承是面向对象的三大特性之一,能够实现软件的复用. Java子类继承父类的 ...

  2. Java中多态、抽象类和接口

    1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: ...

  3. Java 面向对象之接口、多态

    01接口的概念 A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成 ...

  4. 1.Java基础-面向对象编程思想(封装继承多态接口)

    封装: 1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. 2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的 ...

  5. Java面向对象(接口、多态)

    面向对象 今日内容介绍 u 接口 u 多态 第1章 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的 ...

  6. java基础(11):接口、多态

    1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成. ...

  7. 记录:JAVA抽象类、接口、多态

    JAVA抽象类.接口.多态 1. 多态 定义 多态是同一个行为具有多个不同表现形式或形态的能力.(多态就是同一个接口,使用不同的实例而执行不同操作) 如何实现多态 继承和接口 父类和接口类型的变量赋值 ...

  8. 第五节:详细讲解Java中的接口与继承

    前言 大家好,给大家带来详细讲解Java中的接口与继承的概述,希望你们喜欢 什么是接口(interface) 接口中的方法都是抽象方法,public权限,全是抽象函数,不能生成对象 interface ...

  9. 关于java中多态的理解

    java三大特性:封装,继承,多态. 多态是java的非常重要的一个特性: 那么问题来了:什么是多态呢? 定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行 ...

  10. 深入Java核心 Java中多态的实现机制(1)

    在疯狂java中,多态是这样解释的: 多态:相同类型的变量,调用同一个方法时,呈现出多中不同的行为特征, 这就是多态. 加上下面的解释:(多态四小类:强制的,重载的,参数的和包含的) 同时, 还用人这 ...

随机推荐

  1. 一个js编写全选、弹出对话框、ajax-json的案例

    js功能有:全选.弹出对话框.使用json传输ajax数据:不想在写多余的文字了,直接上代码: <%@ page language="java" contentType=&q ...

  2. oracle 格式化数字 to_char

    转:http://blog.csdn.net/chinarenzhou/article/details/5748965 Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,i ...

  3. [CSS] :not Selector

    The CSS :not() selector allows us to exclude a subset of elements matched by our selector. In this e ...

  4. [置顶] ./build_native 时出现please define NDK_ROOT

    在一次帮朋友弄cygwin交叉编译时出现了这个问题 cygwin是按照成功了,make-v,以及gcc-v都没出现问题,就是在./build_native 时出现please define NDK_R ...

  5. hdu1015(Safecracker )

    Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...

  6. SuperSocket学习笔记(一)

    这是根据我自己学习的经历整理出来的,如有不对之处,还请多多指教! SuperSocket源码下载 SuperSocket文档 安装并启动Telnet 学习方法: QuickStrart + 文档 参考 ...

  7. MFC线程(三):线程同步事件(event)与互斥(mutex)

    前面讲了临界区可以用来达到线程同步.而事件(event)与互斥(mutex)也同样可以做到. Win32 API中的线程事件 HANDLE hEvent = NULL; void MainTestFu ...

  8. 【2】最简单的Laravel5.1程序分析

    1.上图!说一下laravel的基本MVC(模型-控制器-视图)原理 2.具体分析 用户输入网址localhost:8888之后,首先请求发送到服务器的laravel应用的public目录下index ...

  9. jquery validate form 异步提交

    jQuery取得select选中的值 jQuery("#select1  option:selected").text(); 相信很多人都用过jquery validate插件,非 ...

  10. JavaScript语法支持严格模式:"use strict"

    如果给JavaScript代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的.其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常.其二:如果在运行期出现了违反严格模 ...