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

java三大特性之一多态

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

java三大特性之一多态

1.方法的多态:方法的重写和重载就是多态的表现形式。

例如:

package com.xcl_static;
class Monkey{
	public void eat() {
		System.out.println("吃饭!");
	}
}
class Person extends Monkey{
	@Override
	public void eat() {
		System.out.println("吃大盘鸡拌面!");
	}
}
public class Demo6 {
	public static void main(String[] args) {
		Person person = new Person();
		person.eat();
	}
}

2.对象的多态:父类的引用指向子类的对象。

例如:

package com.xcl_static;
class Person1{
	public void eat(){
		System.out.println("吃饭");
	}
}
class Adult extends Person1{
	@Override
	public void eat() {//方法重写
		System.out.println("吃大盘鸡拌面!");
	}
}
public class Demo7 {
	public static void main(String[] args) {
		Person1 person = new Adult();
		person.eat();
	}
}

3.多态的转型

3.1向上转型:父类的引用指向子类的对象

语法格式:父类类型 变量 = new 子类类型;

目的:父类可以直接调用子类共同的方法。

package com.xcl_static;
class Person1{
	public void eat(){
		System.out.println("吃饭");
	}
}
class Adult extends Person1{
	@Override
	public void eat() {//方法重写
		System.out.println("吃大盘鸡拌面!");
	}
}
public class Demo7 {
	public static void main(String[] args) {
		Person1 person = new Adult();
		person.eat();
	}
}

3.2向下转型(强制转型):子类的引用

语法格式:子类类型  变量 = (子类类型)父类类型

目的:是为了调用子类独有的方法。

注意:在向下转型前应该先向上转型才可以不报错。

package com.xcl_static;

class Person1{
	public void eat(){
		System.out.println("吃饭");
	}
}
class Adult extends Person1{
	@Override
	public void eat() {
		System.out.println("吃大盘鸡拌面!");
	}
	public void play() {
		System.out.println("玩手机!");
	}
}
public class Demo7 {
	public static void main(String[] args) {
		Person1 person1 = new Adult();
		Adult adult =(Adult)person1;
		adult.play();
	}
}

4.instanceof关键字

instanceof:该关键字为比较操作符,返回值是一个Boolean类型的数据。

语法格式:

        对象的引用 interface 运行类型

通俗来讲:interface左边的的范围<=右边的范围。

目的:是为了让强转的类型避免异常。

例如:

package com.xcl_static;
class AAA{
	
}
class BBB extends AAA{
	
}
public class Demo8 {
	public static void main(String[] args) {
		AAA aaa = new AAA();
		BBB bbb = new BBB();
		System.out.println(bbb instanceof AAA);
		System.out.println(aaa instanceof AAA);		
	}
}

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

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

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