栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中的多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中的多态

1、多态 1.1方法的多态【非重点】

方法的 重写 & 重载 就是方法多态的体现形式

重写是在最少两个且存在继承的方法中,把方法多态化

重载是在一个方法中,把方法多态化

//父系中的方法,在子类中重写
class Person {
    public void eat () {
        System.out.publicln("原本的方法体")
    }
}
//父系的eat方法在class Gog中重写
class Dog extends Person {
    public void eat () {
        System.out.publicln("重写的方法体")
    }
}
//父系的eat方法在class Cat中重写
class Cat extends Person {
    public void eat () {
        System.out.publicln("重写的方法体")
    }
}
1.2对象的多态【重点】
//1、编译类型 = 编译对象
//2、对象的编译类型和运行类型不一样
	例如:Person person = new Dog();
//3、左边的编译类型在定义对象的时候就已经确定好了
//4、运行类型是可以改变的

以上四条就是描述多态的

理解:【父类引用指向子类的对象】

Son son = new Dog()

它表示我定义了一个Son类型的引用,指向新建的Dog类型的对象。由于Dog是继承自它的父类Son,所以Son类型的引用是可以指向Dog类型的对象的。这就是“向上转型”。

多态:

1、必须有继承

2、必须有重写

3、父类引用 = 子类对象

2、多态的转型 2.1向上转型

其本质就是:父类的引用指向子类对象

语法格式:

​ 父类 父类引用 = new 子类();

将子类的对象赋值给了父类的引用。小范围(子类) 转为大范围(父类)自动转

父类的引用可以调用父类的所有成员方法,可以调用子类的重写父类的方法,但是不能调用子类独有的方法。

2.2向下转型

必须先向上转型,再向下转型

语法格式:

父类类型 父类引用 = new 子类();
子类类型 子类引用 = (子类类型)父类的引用;向下转型

向下转型需要强转

package com.qfedu.d_duotai;

class TestA {
	//Object 是所有类的父类
	public void test (Object obj ) {
		//必须给我打印一个String类型的狗蛋,我不要Object类型的狗蛋
//		String str = (String) obj; 
//		System.out.println(str);
		int i1 = (int)obj;
		System.out.println(i1);
		
	}
}
public class Demo4 {
	public static void main(String[] args) {
		TestA testA = new TestA();
		//testA.test("狗蛋");
		Object object = "狗蛋";
		testA.test(98);
		testA.test('狗');
	}

}

3、instanceof关键字

只用于比较操作符,返回一个布尔类型的数据

语法格式:

对象引用 instanceof 运行类型

用来判断对象的运行类型(=右边), 是否是xx类型或者xx类型的子类

目的是为了在强转的时候不出现问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032500.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号