zoukankan      html  css  js  c++  java
  • 2016/04/12

    并不是所有类都需要做成抽象类 只有在绝对不会用到向下转型的时候 才会使用抽象类

    接口:

    接口的关键字 intterface

    接口的第一个特性:里面的方法都是抽象方法

    接口第二个特性:里面的属性都是 静态的  而且都是最终的  如果不加这写修饰符 系统会自动给你加上 一般来说 都不会在接口里放入属性

    接口就是代表了一种能力  谁实现他 谁就有这种 能力

    接口的实现:关键字符  implements 他放在继承的关键字后面

    接口与接口的实现也是 is a 的关系

    继承只能是单继承  但是接口可以是多实现  只要在中间使用逗号分开

    继承是对象的抽象  接口是行为(能力)的抽象

    向上转型: Person p = new Man() ; //向上转型不需要强制类型转化
    向下转型: Man man = (Man)new Person() ; //必须强制类型转化

    package com.wode.wok;
    /**
     *
     * @author Administrator
     *建立一个 飞机类 
     */
    public class Airplane implements Fly{

     @Override
     public void proceed() {
      // TODO Auto-generated method stub
      System.out.println("飞机会飞");
     }

    }

    package com.wode.wok;
    /**
     *
     * @author Administrator
     *建立一个鸟类  他又飞的能力
     */
    public class Bird implements Fly{

     @Override
     public void proceed() {
      // TODO Auto-generated method stub
      System.out.println("小鸟会飞");
     }

    }

    package com.wode.wok;
    /**
     *
     * @author Administrator
     *建立一个  飞的接口 /也就是能力
     */
    public interface Fly {
     /**
      * 起飞
      */
     public void proceed();

    }

    package com.wode.wok;
    /**
     *
     * @author Administrator
     *建立一个 超级的能力
     */
    public interface Superability {

     public void superability();
    }

    package com.wode.wok;
    /**
     *
     * @author Administrator
     *建立一个超人类  超人也会飞
     */
    public class Superman implements Fly,Superability{
     public void show(){
      System.out.println("我是超人");
     }

     @Override
     public void proceed() {
      // TODO Auto-generated method stub
      System.out.println("超人会飞");
     }

     @Override
     public void superability() {
      // TODO Auto-generated method stub
      System.out.println("超人还能拯救世界");
     }

    }

    package com.wode.wok;

    import java.util.Scanner;

    public class Test1 {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub

      Scanner scanner = new Scanner(System.in);
      for(int i =5 ;i>=0;i--){
      System.out.println("请输入你要查看的能力的事物 1:飞机 2:超人 3:小鸟");
      int look = scanner.nextInt();
      if (look==1) {
       Airplane airplane = new Airplane();
       airplane.proceed();
      }
      if (look==2) {
       Superman superman = new Superman();
       superman.show();
       superman.proceed();
       superman.superability();
      }
      if (look==3) {
       Bird bird = new Bird();
       bird.proceed();
      }else if (look!=1&&look!=2&&look!=3) {
       System.out.println("输入有误 !");
      }
      System.out.println("您还有"+i+"次查询的机会");
      }

     }

    }

  • 相关阅读:
    java实现邮件定时发送
    hql 语法与详细解释
    hql 跟 sql 区别
    HQL: Hibernate查询语言
    hibernate 中createQuery与createSQLQuery两者区别
    SSO(Single Sign On)
    32位随机数
    Android广播机制简介
    c#获取枚举
    Editable DataGrid 实现列表新增编辑功能
  • 原文地址:https://www.cnblogs.com/chenyangpeng/p/5384494.html
Copyright © 2011-2022 走看看