Java的多态体现 --- 接口

/**
 *
 * @author Administrator
 * 功能:接口体现多态
 */
package com.test4;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        CarShop aShop = new CarShop();
        aShop.sellCar(new BMW());
        aShop.sellCar(new CherryQQ());
        System.out.println("总收入:"+aShop.getMoney());    

    }

}

interface Car
{
    //汽车名称
    String getName();
    //获得汽车售价
    int getPrice();
}

//宝马
class BMW implements Car
{

    @Override
    public String getName() {
        // TODO Auto-generated method stub
        return "BMW";
    }

    @Override
    public int getPrice() {
        // TODO Auto-generated method stub
        return 300000;
    }
}

//奇瑞QQ
class CherryQQ implements Car{

    @Override
    public String getName() {
        // TODO Auto-generated method stub
        return "CherryQQ";
    }

    @Override
    public int getPrice() {
        // TODO Auto-generated method stub
        return 20000;
    }

}

//汽车出售店
class CarShop
{
    //售车收入
    private int money = 0;

    //卖出一部车
    public void sellCar(Car car)
    {
        System.out.println("车型:"+car.getName()+" 单价"+car.getPrice());
        //增加卖出 车售价的收入
        money += car.getPrice();
    }

    //售车总收入
    public int getMoney()
    {
        return this.money;
    }

}
时间: 2024-12-17 06:54:13

Java的多态体现 --- 接口的相关文章

Java面向对象多态和接口

一.多态 1.通过多态可以减少类中的代码量,可以提高代码的可扩展性.继承是多态的基础,没有继承就没有多态. 2.把子类转换为父类称为向上转型,自动进行类型转换.把父类转换为子类称为向下转型,必须进行强制类型转换. 3.向上转型后通过父类引用变量调用的方法是子类覆盖或继承父类的方法,通过父类引用变量无法调用子类特有的方法. 4.向下转型后可以访问子类特有的方法.必须转换为父类指向的真实子类类型,否则将出现类型转换异常ClassCasException. 5.instancefo运算符用于判断一个对

JAVA 之 多态 抽象 接口

一:多态 1:多态   一个对象有多种形式的能力 2:步骤 1编写父类派生子类 2子类重写父类方法 3用父类的数据类型引用子类对象 3:静态多态的实现方式就是方法重载 4:动态多态的实现方式就是重写父类中同名成员方法 5:使用instanceof关键字判断对象的真正类型 语句形式   引用instanceof 类名 eg;Empe=new Hourly(); if(einstanceofHourly){ Hourlyx=(Hourly) e;// 强制转换一个Hourly类型 } 6:多态的应用

Java基础学习笔记八 Java基础语法之接口和多态

接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计.请记住:一切事物均有功能,即一切事物均有接口. 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字.定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件.这点可以让我们将接口看做是一种

Java中多态、抽象类和接口

1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: A:局部变量 a:基本类型 值不能发生改变 b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的 B:初始化时机 a:只能初始化一次. b:常见的给值 定义的时候.(推荐) 构造方法中. 2:多态(掌握) (1)同一个对象在不同时刻体现出来的不同状态. (2)多态的前提: A:有继承或者实

java基础三 [深入多态,接口和多态](阅读Head First Java记录)

抽象类和抽象方法 1.抽象类的声明方法,在前面加上抽象类的关键词abstract abstract class canine extends animal{ public void roam(){} } 抽象类除了被继承过之外,是没有用途,没有值,没有目的.类中的方法可以当做子类的合约内容,合约是对其他程序的承诺协议 抽象类中可以带有抽象和非抽象的方法 如果类中有抽象方法,则类必定标识为抽象的. 2.抽象的方法没有实体 (因为方法中的程序代码没有意义.抽象类需要被extend过有意义,抽象方法一

初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)

JAVA特点: 语法简单,学习容易 功能强大,适合各种应用开发:J2SE/J2ME/J2EE 面向对象,易扩展,易维护 容错机制好,在内存不够时仍能不崩溃.不死机 强大的网络应用功能 跨平台:JVM,字节码 两个命令: javac helloworld.java:将Java文件编译为字节码的.class文件 java helloworld:运行Java程序...??暂时这么认为 数据类型: 普通数据类型:int a=3; 对象数据类型:使用关键字new,String s=new String("

Java oop第05章_多态、接口

一. 为什么需要接口? Java中当一个类继承父类时,最多也只能继承一个父类,扩展性会受到一定的限制,为了弥补这一缺陷,Java又提供了一种新的引用数据类型分类,叫接口. 一个类只能继承一个父类,但可以实现多个接口. 二. 接口的定义和使用: 1. 定义接口:使用interface关键字. 2. 实现接口:在一个抽象类或实现类中可以通过implements关键字. 三. 接口的注意事项: 1. 接口是比抽象类更加抽象的“类”,接口中所有的方法都是抽象方法(不管是否使用abstract关键字修饰)

Java面向对象之类、接口、多态

Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 public Person() {} // 构造器重载 public Person(int age, String name) { this.age = age; this.name = name; } // 实例方法 public void tell_age() { System.out.println(

java匿名内部类,多态,接口练习

1多态以及接口调用方法: public class Interface { public static void main(String[] args) { Al x = new Al(); jian a = x; System.out.println(a.sub(1, 2)); // 使用接口引用调用的方法 animal zz = new animal(); zz.jiao(); zz = new dog(); zz.jiao(); zz = new cat(); zz.jiao(); //多