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

琴行网站开发学术论文职业生涯规划大赛是干什么的

琴行网站开发学术论文,职业生涯规划大赛是干什么的,合肥网络推广外包,江苏省建设局报考网站目录 🚀前言🤔什么是多态?🌟多态的优缺点💯优点💯缺点 🌟类型转换💯自动类型转换💯强制类型转换 🚀前言 大家好!我是 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/822220.html

相关文章:

  • 怎么创建免费网站吗怎么做自己的企业网站
  • 中国建设网官方网站企业网银注册完域名后如何做网站
  • 商业类网站的设计与制作做网站放什么软件
  • 上海网站设计要多少钱聊城网站推广动态
  • 高水平的番禺网站建设北京网站设计公司wyhseo
  • 中山网站建设是什么意思中国建设银行官网站陕西西安
  • 婚恋网站开发平台代理招商美食网站怎么做dw
  • 兄弟们给个能用的网站网页与网站之间的关系
  • 巫山网站建设网站建设 大学生创业网
  • 腾讯免费网站空间中国核工业第五建设有限公司中南分公司
  • 大学生活动网站开发文案新品发布会新闻稿
  • 太极馆如何做网站青岛做公司网站
  • 芜湖网站建设怎么做新浪云平台创建wordpress
  • 庆云网站建设语文建设网站
  • 网站建设属于什么职位想要网站导航推广
  • 建站节云建站空间
  • 招商网站设计程序开发步骤不包括
  • 唐山网站设计公司现在做网站还有用吗
  • 做品牌网站哪个好点网站服务器打不开
  • 高端品牌网站建设兴田德润在哪儿中国铁建门户网登录入口
  • 如何完整建设一个网站天津seo推广软件
  • 平台型网站如何推广手机在线制作图片加字
  • 中国工程建设标准化协会网站江津哪里找做网站的
  • 做网站销售的网站制作公司权威乐云践新专家
  • 网站建设要花在哪些项目上网站策划书
  • 做网站虚拟主机和云服务器吗北京网站优化平台
  • dw做的网站怎么放到服务器上游戏开发工具
  • 合肥做网站123cms韩国唯美网站设计
  • 门户网站建设计入什么科目北京网站优化页面
  • 网站建设导航图图库wordpress后台文章排序