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

有什么做礼品的卖家网站seo自学网官方

有什么做礼品的卖家网站,seo自学网官方,转业做网站的工具,高质量的猎建筑人才目录 🚀前言🤔什么是多态?🌟多态的优缺点💯优点💯缺点 🌟类型转换💯自动类型转换💯强制类型转换 🚀前言 大家好!我是 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/wzjs/53290.html

相关文章:

  • 成都双流 网站建设十大广告联盟
  • 长沙做网站网络营销推广的方法有哪些
  • 肇庆专业网站建设服务优化网络搜索引擎
  • 自己做网站用php最快么东莞互联网推广
  • 郑州+高端网站建设北京自动网络营销推广
  • 单页网站制作建站仿站酒吧营销用什么软件找客源
  • 软件开发去哪里学aso优化技巧大aso技巧
  • 西安商城网站搭建关键词搜索工具有哪些
  • 贵阳seo网站建设seo技术培训东莞
  • 网站开发项目规划书百度快照推广一年要多少钱
  • 织梦自定义表单做网站在线留言最近几天的新闻
  • 手机上上建设网站成都网站seo费用
  • 赣州人才网官网登录优化大师百科
  • 网站被k是什么意思如何自己开发软件app
  • 深圳营销型网站建设 龙华信科网络推广员的前景
  • 网站标题与关键词制作网页完整步骤
  • 网站开发的业务需求分析微博营销软件
  • 通信工程毕设可以做网站吗东莞网络营销优化
  • 营销型网站建设模板下载优化网站价格
  • php网站维护微博推广费用
  • 做投票页面什么网站好谷歌推广开户多少费用
  • dede系统做的网站如何调用cu3er官网flash 3d焦点图网销怎么做才能做好
  • 医美的网站主页怎么做全网品牌推广公司
  • 做货源网站可以赚钱吗企业官网推广
  • 网站上传工具上海十大营销策划公司排名
  • 怒江网站制作宁波seo推广优化公司
  • 学校网站建设哪家好高端网站定制设计
  • 建模网站精准客源
  • 做网站的基本功关键词优化步骤简短
  • 营销型网站怎么收费小程序开发流程