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中,多态是这样解释的: 多态:相同类型的变量,调用同一个方法时,呈现出多中不同的行为特征, 这就是多态. 加上下面的解释:(多态四小类:强制的,重载的,参数的和包含的) 同时, 还用人这 ...
随机推荐
- opencv 实现进度控制
进度控制: #include <opencv\cv.h> #include <opencv\highgui.h> #include <opencv\cxcore.h> ...
- 单片机脚本语言-移植lua到stm32-MDK
Lua简单介绍 Lua[1] 是一个小巧的脚本语言.作者是巴西人.该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua脚本能够非常easy的被C/C++ 代码调用, ...
- Hexo博客搭建图文教程
准备 你需要准备好以下软件: Node.js环境 Git Windows 配置Node.js环境 下载Node.js安装文件: Windows Installer 32-bit Windows Ins ...
- C#构造函数的 "继承" 问题
首先说明下 之所以用 双引号 是因为构造函数是没有继承的 派生类默认会调用基类的无参数构造函数 比如: public class A { public A() { Co ...
- HTML页面之间跳转与传值(JS代码)
跳转的方法如下: 方法一: window.location.href = "b.html"; 方法二(返回上一个页面,这个应该不算,先放在这): window.history.ba ...
- js获取当前页面的网址域名地址
1.获取当前完整网址thisURL = document.URL;thisHREF = document.location.href;thisSLoc = self.location.href;thi ...
- Geodatabase - 打开要素类
string dbPath = @"G:\doc\gis\1.400\data\pdb.mdb"; ESRI.ArcGIS.Geodatabase.IWorkspaceFactor ...
- arc engine - IName
IName对象是一个代表性对象.通过使用IName对象,可以访问它所代表的对象的一些基本属性,而不用将整个对象调入内存.我们用IWorkspace 获得一个Workspace,那可是会调入内存的,而I ...
- hdu1372 BFS求最短路径长度
C - 广搜 基础 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:65536KB 64bi ...
- hdu 素数环
算法:搜索 题意:相邻的两个数之和是素数,别忘了最后一个,和第一个 Problem Description A ring is compose of n circles as shown in dia ...