java接口和多态总结

多态总结

  1. 多态的三种形式:父类为正常类、父类为抽象类、接口。
  2. 强制类型转换,才能访问子类的私有方法和属性,否则多态只能访问子父类的共同方法,子类的实现。

代码如下:

父类

package org.junit.duotai;

public class Animal {
	public void eat() {
		System.out.println("父类方法eat");
	}
}

子类

package org.junit.duotai;

public class Cat extends Animal{
	String color = "yellow";
	public void eat() {
		System.out.println("猫吃猫粮");
	}
}

子类

package org.junit.duotai;

public class Dog extends Animal{
	public void eat() {
		System.out.println("狗吃狗粮");
	}
	public void watchHome() {
		System.out.println("狗看家");
	}
}

测试方法

package org.junit.duotai;

public class TestDemo {
	public static void main(String[] args) {
		// 自动转换
		Animal a1 = new Cat();
		Animal a2 = new Dog();
		
		a1.eat();
		a2.eat();
		
		// 强制类型转换,访问子类的属性和方法
		Cat b1 = (Cat)a1;
		System.out.println(b1.color);
		
		Dog b2 = (Dog)a2;
		b2.watchHome();
	}

}

打印输出

猫吃猫粮
狗吃狗粮
yellow
狗看家

接口:理解为是一个特殊的抽象类,但它不是类,是一个接口

接口的特点:

  1. 定义一个接口用interface关键字
    interface Inter{}
  2. 一个类实现一个接口,实现implements关键字
    class Demo implements Inter{}
  3. 接口不能直接创建对象
    通过多态的方式,由子类来创建对象,接口多态

接口中的成员特点:

成员变量:

  • 只能是final 修饰的常量
  • 默认修饰符: public static final

构造方法:

成员方法:

  • 只能是抽象方法
  • 默认修饰符: public abstract

类与类,类与接口,接口与接口之间的关系

  • 类与类之间:继承关系,单继承,可以是多层继承
  • 类与接口之间: 实现关系,单实现,也可以多实现
  • 接口与接口之间:继承关系,单继承,也可以是多继承
  • Java中的类可以继承一个父类的同时,实现多个接口

多态:理解为同一种物质的多种形态

多态使用的前提:

		1,有继承或者实现关系

		2,要方法重写

		3,父类引用指向子类对象

多态的成员访问特点:

		方法的运行看右边,其他都看左边

多态的好处:

		提高了程序的扩展性

多态的弊端:

		不能访问子类的特有功能

多态的分类

类的多态

abstract class Fu {

         public abstract void method();

}

class Zi extends Fu {

public void method(){

		       System.out.println(“重写父类抽象方法”);

}

}

//类的多态使用

Fu fu= new Zi();

接口的多态

interface Fu {

	public abstract void method();

}

class Zi implements Fu {

	public void method(){

    System.out.println(“重写接口抽象方法”);

}

}

//接口的多态使用

Fu fu = new Zi();

instanceof 关键字

	格式: 对象名 instanceof 类名

	返回值: true, false

	作用: 判断指定的对象 是否为 给定类创建的对象
记得旧文章 便是新举子
原文地址:https://www.cnblogs.com/NBeveryday/p/interface.html