当前位置: 首页 > news >正文

能进入危险网站的浏览器永春网站建设

能进入危险网站的浏览器,永春网站建设,济宁广告公司网站建设,网络运营培训班目录 🚀前言🤔什么是多态?🌟多态的优缺点💯优点💯缺点 🌟类型转换💯自动类型转换💯强制类型转换 🚀前言 大家好!我是 EnigmaCoder。 本文介绍java…

目录

  • 🚀前言
  • 🤔什么是多态?
  • 🌟多态的优缺点
    • 💯优点
    • 💯缺点
  • 🌟类型转换
    • 💯自动类型转换
    • 💯强制类型转换

🚀前言

在这里插入图片描述

大家好!我是 EnigmaCoder
本文介绍java面向对象编程三大特性之一的多态,包括定义、优缺点、类型转换等。

🤔什么是多态?

多态是继承情况下的一种现象,表现为:对象多态、行为多态。

前提

  • 有继承关系
  • 存在父类引用子类对象
  • 存在方法重写

注意:多态是对象、行为的多态,java中的成员变量没有多态。

代码示例

public class Test {public static void main(String[] args) {//对象多态、行为多态Animal a1=new Wolf();a1.run();//方法:编译看左边,运行看右边System.out.println(a1.name); //成员变量:编译看左边,运行也看左边。Animal a2=new Tortoise();a2.run();//方法:编译看左边,运行看右边System.out.println(a2.name);//成员变量:编译看左边,运行也看左边。}
}class Animal {String name="Animal";public void run(){System.out.println("Animal is running");}
}class Tortoise extends Animal{String name="乌龟";@Overridepublic void run(){System.out.println("乌龟跑得慢");}
}class Wolf extends Animal{String name="狼";@Overridepublic void run(){System.out.println("狼跑的快");}
}

运行结果

狼跑的快
Animal
乌龟跑得慢
Animal

🌟多态的优缺点

💯优点

  • 在多态形式下,右边对象是解耦合的,更便于扩展和维护。

例如

Animal a1=new Wolf();
a1.run();

上述代码中的Wolf()可以替换成其它继承了Animal父类的子类。

  • 定义方法时,使用父类类型的形参,可以接收一切子类对象,扩展性更强、更便利。

例如

public class Test {public static void main(String[] args) {Animal a1=new Wolf();a1.run();//父类类型的变量作为参数,可以接收一个子类对象Wolf w=new Wolf();go(w);Tortoise t=new Tortoise();go(t);}public static void go(Animal a){a.run();}
}

💯缺点

多态下不能使用子类的独有功能,换句话说,多态下只能使用被重写的方法。

🌟类型转换

  • 自动类型转换:父类 变量名 = new 子类();
  • 强制类型转换:子类 变量名 = (子类)父类变量;

💯自动类型转换

自动类型转换(也叫隐式类型转换)指的是小范围数据类型自动转换为大范围数据类型,或者子类对象自动转换为父类对象。这种转换无需额外操作,系统会自动完成。

class Animal {public void makeSound() {System.out.println("Animal makes a sound");}
}class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("Dog barks");}
}public class AutomaticConversion {public static void main(String[] args) {Dog dog = new Dog();// 自动类型转换:子类对象转换为父类对象Animal animal = dog;animal.makeSound();}
}

💯强制类型转换

强制类型转换(也叫显式类型转换)指的是将大范围数据类型转换为小范围数据类型,或者父类对象转换为子类对象。进行强制类型转换时,需要使用强制转换运算符 (type)。不过要注意,在进行父类对象到子类对象的转换时,要确保该父类对象实际上引用的是子类对象,不然会引发 ClassCastException 异常。

class Animal {public void makeSound() {System.out.println("Animal makes a sound");}
}class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("Dog barks");}public void wagTail() {System.out.println("Dog wags its tail");}
}public class ForcedConversion {public static void main(String[] args) {Animal animal = new Dog();// 强制类型转换:父类对象转换为子类对象Dog dog = (Dog) animal;dog.makeSound();dog.wagTail();}
}

小结

  • 自动类型转换:是安全的,系统会自动完成。
  • 强制类型转换:存在风险,使用时要确保转换的安全性,可借助 instanceof 运算符进行检查。

示例代码如下:

class Animal {public void makeSound() {System.out.println("Animal makes a sound");}
}class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("Dog barks");}public void wagTail() {System.out.println("Dog wags its tail");}
}public class TypeConversionExample {public static void main(String[] args) {Animal animal = new Dog();if (animal instanceof Dog) {Dog dog = (Dog) animal;dog.makeSound();dog.wagTail();}}
}

在上述代码里,运用 instanceof 运算符来判断 animal 对象是否为 Dog 类的实例,若为真,再进行强制类型转换,以此确保转换的安全性。

http://www.dtcms.com/a/402528.html

相关文章:

  • 网站建设服务合同书标准版男女怎么做那个视频网站
  • 有哪些网站能免费建站海外房地产网站建设
  • 北京大兴网站建设公司哪家好网站备案背景幕布尺寸
  • 建设网站前的目的wordpress 播放视频
  • 河北住房和城乡建设厅网站驱动手机网站程序源码
  • 模板网站制作服务网站设计论文参考文献
  • 河南省级建设主管部门网站辽宁建设工程信息网审计报告
  • 广西南宁公司网站制作网站建设团队与分工
  • 南开大学 网站开发技术 刘冲免费源码资源源码站
  • 网站模板源代码下载郑州seo外包费用
  • 近五年关于网站建设的参考文献网站建设内部下单流程图
  • 代账公司网站模板网站底部备案号
  • 企业网站托管方案内容洛阳网络推广公司
  • 深圳网站建设延安万网可以花钱做网站吗
  • 导购网站开发要多少钱浦东网站建设
  • 市直部门网站建设方案室内设计网站建设
  • 南京360推广 网站建设彩灯制作公司
  • 怎样做网站的用户分析wordpress 数据库 编码
  • 网站开发 请示天津营销型网站建设费用
  • 网站建设报价明细表珲春市建设局网站是多少
  • 做网站设计所遇到的问题wordpress导出导入
  • 自建网站步骤福田做网站联系电话
  • 家装设计图效果图大全seo排名关键词
  • 建设网站专业公司吗企业小程序要多少钱
  • 徐州网站制作流程asp.net 网站安装
  • 邯郸手机网站建设服务wordpress的上传大小
  • 大型做网站的公司建设网站的五个步骤是
  • 连云港市网站建设阿里接外包吗网站开发
  • 北京网站建设营销做H5哪个网站字体漂亮一些
  • 长春网站建设技术外包wordpress 应用市场