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. dom4j解析接口使用SOAP传递的xml

    xml 文件的格式类型: <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope ...

  2. 关于时间的操作(JavaScript版)——依据不同区时显示对应的时间

    如今项目基本上告一段落了,难得有一定的闲暇,今天利用数小时完毕了一个功能模块--依据不同区时显示对应的时间,这方面网上基本没有现成的样例,如今将代码粘贴例如以下: <!DOCTYPE HTML ...

  3. Android Studio使用技巧系列教程(二)

    尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46764575 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...

  4. [RxJS] Handling a Complete Stream with Reduce

    When a stream has completed, you often need to evaluate everything that has happened while the strea ...

  5. FpSpread添加标注

    先看效果 实现: FarPoint.Web.Spread.StyleInfo Errorcss = new FarPoint.Web.Spread.StyleInfo(); Errorcss.Bord ...

  6. Linux下MySql启动时报错

    /opt/mysql/support-files/mysql.server startmy_print_defaults: [ERROR] Found option without preceding ...

  7. oracle 全文检索

    一.使用 sys 用户登录oracle (1)运行—cmd—sqlplus — sys/密码 @连接字符 as sysdba 二.授权 1.grant ctxapp to 全文检索使用用户: 2.gr ...

  8. Oracle 账户被锁定

    哎 每次安装oracle的时候总是忘了将用户解锁,结果就蛋疼了,从网上找到一个简单的解决方案 在CMD命令输出如下: sqlplus /nolog alert user system account ...

  9. (二)CSS3应用 - 实现圆角

    html <link href="test.css" type="text/css" rel="stylesheet" /> & ...

  10. C语言中的结构体和C++中的结构体以及C++中类的区别

    c++中结构体可以定义一个函数 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数. C++中的结构体和类的异同: 一. ...