多态、接口

一、多态

1、什么是多态?

解析:不同的对象对于同一个操作,做出的响应不同

         具有表现多种形态的能力的特征

2、使用多态的优点

解析:为了实现统一调用

一个小例子:<父类类型作为参数>

父类(Pet) 子类(Gog,Penguin) 主人类(Master)测试类(Test)

Pet

public abstract class Pet {
    public abstract void eat();

}

Dog

   public class Dog extends Pet{

    @Override
    public void eat() {
        System.out.println("够吃骨头");
        
    }

Penguin  

   public class Penguin extends Pet {

    @Override
    public void eat() {
        System.out.println("企鹅吃fish");
        
    }

Master 

public class Master {
    //父类类型作为参数
public void feed(Pet pet)
{
    pet.eat();
    }

}

Test 

    public static void main(String[] args) {
        Master master=new Master();
        
        Pet pet=new Dog();
        
        master.feed(pet);

    }

二、子类到父类的转换(向上转型)

规则:

① 将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换

② 此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法

③ 通过父类引用变量无法调用子类特有的方法

三、java中两种实现和使用多态的方式

① 使用父类作为方法形参

② 使用父类作为方法返回值

四、父类到子类的转换(向下转型)

将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型。此时必须进行强制类型转换

五、instanceof运算符

语法:

对象 instanceof 类或接口

该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为true或false

① 使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承树上有上下级关系,否则会出现编译错误

② instanceof通常和强制类型转换结合使用


 

六、接口

在java语言中,接口有两种意思:

①概念性的接口,即系统对外提供的所有服务

②指用interface关键字定义的接口,也称为接口类型

七、特征

① 接口中的成员变量默认都是public、static、final类型的,必须被显示初始化

②接口中的方法默认都是public、abstract类型的

③接口没有构造方法,不能被实例化

④一个接口不能实现另一个接口,但它可以继承多个其他接口

⑤接口必须通过类来实现它的抽象方法

⑥ 一个类只能继承一个直接父类,但能实现多个接口

八、语法

① 修饰符 interface 接口名 extends 父接口1,父接口2....{

//常量定义

//方法定义

}

② class 类名 extends 父类名 implements 接口1,接口2....{

//类成员

}

一个小例子:

使用java接口来模拟生活中的USB接口

1、先定义USB接口,通过service()方法提供服务

public interface Usbinterface{

void service();
}

2、定义U盘类,实现USB接口中的service()方法,进行数据传输

public class UDisk implementd UsbInterface{
public void service()
{
System.out.println("连接USB口,开始数据传输!");

}

}

3、定义USB风扇类,实现USB接口中的service()方法,获得电流使风扇转动

public class UsbFan implementd UsbInterface{
public void service()
{
System.out.println("连接USB口,获得电流,风扇开始转动!");

}

}

4、编写测试类

public class Test{
public static void main(String[]args){
//u盘
UsbInterface uDisk=new UDisk();
uDisk.service();

//USB风扇
UsbInterface usbFan=new UsbFan();
usbFan.service();

}

}

 

转载于:https://www.cnblogs.com/WJ-163/p/5531633.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程思想,它通过将数据和操作数据的方法组织在一起,以对象的形式来描述现实世界中的事物。面向对象编程的四个基本概念是封装、继承、多态接口。 1. 封装(Encapsulation):封装是将数据和操作数据的方法封装在一起,形成一个独立的实体。这样可以隐藏内部的实现细节,只暴露对外提供的接口,提高代码的可维护性和重用性。通过封装,对象对外部只暴露必要的信息,同时可以对内部实现进行修改,而不会影响外部的使用。 2. 继承(Inheritance):继承是指一个子类)可以从另一个父类)继承属性和方法。子类可以复用父类的代码,并且可以在其基础上进行扩展或修改。继承可以实现代码的重用,同时也能够建立之间的关系,形成的层次结构。 3. 多态(Polymorphism):多态是指同一个方法可以根据不同的对象产生不同的行为。多态通过继承和方法重来实现,可以提高代码的灵活性和可扩展性。通过多态,可以在不改变方法的情况下,根据对象的实际型来动态调用不同的方法实现。 4. 接口(Interface):接口定义了一组方法的规范,实现了接口必须实现接口中定义的方法。接口可以用来实现之间的解耦和增加代码的可扩展性。通过接口,可以定义之间的约定,使得不同的可以进行交互和通信。 这些概念是面向对象编程的基础,它们可以帮助开发者组织和管理复杂的代码,提高代码的可读性、可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值