ext实例
(转)
[url]www.whjava.com[/url]
(转)
[url]www.whjava.com[/url]
package com.jcms.lesson ;
/**
* 欢迎加入群 55792603 下载新手教程 每周一课 欢迎大家在论坛提问 我会抽时间做解答
* 希望这个例子能够让大家能够清楚一下 new implements 的本质
* @author 方坤
*
*/
public class Lesson1 {
static void m1(){
try{
接口A a=new 接口A的实现();
接口B b=(接口B)a;
b.doB();
}catch(Exception e){System.out.println("第一个方法报错:");e.printStackTrace();}
}
static void m2(){
try{
System.out.println("===================================执行方式二开始==================================");
接口A a=new 贪婪的AB实现();
接口B b=(接口B)a;
b.doB();
}catch(Exception e){System.out.println("第二个方法报错:");e.printStackTrace();}
}
static void m3(){
try{
System.out.println("===================================执行方式三开始==================================");
接口A a=new 愚蠢贪婪的AB实现();
接口B b=(接口B)a;
b.doB();
}catch(Exception e){System.out.println("第三个方法报错:");e.printStackTrace();}
}
static void m4(){
try{
System.out.println("===================================执行方式四开始==================================");
陌生人 a=new 陌生人();
接口B b=(接口B)a;
b.doB();
}catch(Exception e){System.out.println("第四个方法报错:");e.printStackTrace();}
}
static void m5(){
try{
System.out.println("===================================执行方式五开始==================================");
陌生人 a=new 歪打正着();
接口B b=(接口B)a;
b.doB();
}catch(Exception e){System.out.println("第五个方法报错:");e.printStackTrace();}
}
//
// static void m6(){
// try{
// System.out.println("===================================执行方式六开始==================================");
// 陌生人 a=new 歪打正着();
// 接口B b=(接口B)a;
// b.doB();
// }catch(Exception e){System.out.println("第六个方法报错:");e.printStackTrace();}
// }
/**程序的入口**/
public static void main(String args[]){
m1();
m2();
m3();
m4();
m5();
}
}
//-----简单的接口----------
interface 接口A{
public void doA();
}
interface 接口B{
public void doB();
}
//-----对应的实现---------------------------------
class 接口A的实现 implements 接口A{
public void doA() {
System.out.println(this.getClass().getName()+"=处理A");
}
}
//-----对应的实现---------------------------------
class 接口B的实现 implements 接口B{
public void doB() {
System.out.println(this.getClass().getName()+"=处理B");
}
}
//----我是一个贪心的人---------------------------------------------------
class 贪婪的AB实现 extends 接口B的实现 implements 接口A{
public void doA() {
System.out.println(this.getClass().getName()+"=贪婪的AB处理A");
}
}
//------我是一个陌生人================================
class 陌生人{
public void doB() {
System.out.println(this.getClass().getName()+"=陌生人处理B");
}
public void doA() {
System.out.println(this.getClass().getName()+"=陌生人处理A");
}
}
//----我是一个愚蠢的贪心人---------------------------------------------------
class 愚蠢贪婪的AB实现 extends 接口B的实现 implements 接口A,接口B{
public void doA() {
System.out.println(this.getClass().getName()+"=处理A");
}
}
//----歪打正着---------------------------------------------------
class 歪打正着 extends 陌生人 implements 接口A,接口B{
}