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

免费做图素材网站有哪些百度网盘下载慢

免费做图素材网站有哪些,百度网盘下载慢,政府网站内容建设规范,网站需求面试官:对于 Java 中多态的理解是什么? 题目 面试官:对于 Java 中多态的理解是什么? 推荐解析 1.父类的引用指向子类的对象 子类重写父类的方法:子类可以继承父类的方法,并对其进行重写。当通过父类的…

面试官:对于 Java 中多态的理解是什么?

题目

面试官:对于 Java 中多态的理解是什么?

推荐解析

1.父类的引用指向子类的对象

子类重写父类的方法:子类可以继承父类的方法,并对其进行重写。当通过父类的引用调用这个方法时,实际执行的是子类重写后的方法。

比如 Person person = new Student Person 是父类 Student ,都有一个工作的方法,student 重写工作方法,比如上学。

class Person {void work() {System.out.println("工作");}
}class Student extends Person {@Overridevoid work() {System.out.println("上学");}
}public class Test {public static void main(String[] args) {Person person = new Student();person.work(); // 输出 "上学"}
}
2.接口的引用指向实现类的对象

1)List list = new ArrayList();

2)ArrayList list= new ArrayList()

List<String> list1 = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>();// list1.trimToSize(); // 编译错误,因为 trimToSize 是 ArrayList 的特有方法
list2.trimToSize(); // 正确,因为 list2 是 ArrayList 类型的变量

在第一种情况下,无法使用 ArrayList 特有的方法,因为声明的是一个 List 类型的变量,只能使用 List 接口中定义的方法。而在第二种情况下,声明了一个 ArrayList 类型的变量,可以使用 ArrayList 特有的方法。

3.方法的重载

方法的重载:方法重载指的是在同一个类中定义多个同名但参数列表不同的方法。在调用这个方法时,编译器会根据参数的类型和数量来确定具体调用哪个方法。

class Test {void show(int i) {System.out.println("整型数值: " + i);}void show(String s) {System.out.println("字符串: " + s);}void show(int i, String s) {System.out.println("整型数值: " + i + ", 字符串: " + s);}public static void main(String[] args) {Test test = new Test();test.show(10); // 输出 "整型数值: 10"test.show("Hello"); // 输出 "字符串: Hello"test.show(10, "Hello"); // 输出 "整型数值: 10, 字符串: Hello"}
}
4.方法重写

4.1 子类中的方法必须与父类中的方法具有相同的名称。

4.2 子类中的方法必须具有相同的参数列表(参数的类型、顺序和数量)。

4.3 子类中的方法的返回类型可以是父类方法返回类型的子类型(也称为协变返回类型)。

4.4 子类中的方法不能缩小父类方法的访问权限(即不能将父类方法的访问权限由 public 改为 private ),不能更加严格,但是可以扩大访问权限。

class Animal {void eat() {System.out.println("动物吃食物");}
}class Dog extends Animal {@Overridevoid eat() {System.out.println("狗吃骨头");}
}public class Test {public static void main(String[] args) {Animal animal = new Dog();animal.eat(); // 输出 "狗吃骨头"}
}
5.向上转型和向下转型

5.1 向上转型( Upcasting ):将一个子类对象转换为父类类型。这是一个隐式的转型过程,不需要显式地进行类型转换。

5.2 向下转型( Downcasting ):将一个父类对象转换为子类类型。这是一个显式的转型过程,需要使用强制类型转换符进行类型转换。需要注意进行类型检查,避免类型转换异常。

class Animal {void eat() {System.out.println("动物吃食物");}
}class Dog extends Animal {void bark() {System.out.println("狗叫");}
}public class Test {public static void main(String[] args) {Dog dog = new Dog();Animal animal = dog; // 向上转型,将 Dog 对象转换为 Animal 类型animal.eat(); // 输出 "动物吃食物"Dog anotherDog = (Dog) animal; // 向下转型,将 Animal 对象转换为 Dog 类型anotherDog.bark(); // 输出 "狗叫"}
}

其他补充

鱼聪明AI 的回答:

鱼聪明 AI地址:鱼聪明AI

多态是面向对象编程的一个重要概念,它允许我们使用一个接口来表示多种实现。多态的主要目的是让程序员可以针对抽象而不是具体实现来编程,这样的代码会有更好的可扩展性。

多态的基本概念是,同一行为,通过不同的子类,可以体现出来的不同的形态。例如,如果我们有一个 Shape 类和两个子类 CircleRectangle,我们可以通过一个 Shape 类型的变量来引用 CircleRectangle 的实例,然后调用它们的 draw 方法。这个 draw 方法在 Circle 类中可能会画一个圆,而在 Rectangle 类中可能会画一个矩形。这就是多态的一个例子。

然而,需要注意的是,类的属性和构造函数不具备多态性。属性被子类继承,但不具备多态性,而构造函数实际上是static方法,所以构造函数不具备多态性。

总的来说,多态允许我们编写更加灵活和可扩展的代码,它可以让我们以一种统一的方式来处理不同的对象,而不需要关心这些对象的具体类型。

知乎回答:

CSDN 某同学:

1)多态成员变量:编译运行看左边

2)多态成员方法:编译看左边,运行看右边

欢迎交流

在阅读本文后,你应该对多态有了一些了解,那么我将会提出三个问题,如果你能完整回答这三个回答的话,在面试中将大概率得到面试官的认可。

1.多态的实现原理是什么?

2.多态在 Java 中的实现方式是什么?

3.多态在框架设计中有什么应用场景?

AI 智能图书馆开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system

前后端总计已经 900+ Star,1.5W+ 访问!

⭐点赞⭐收藏⭐不迷路!⭐

http://www.15wanjia.com/news/37984.html

相关文章:

  • 千锋教育软件测试seo赚钱方式
  • 佛山h5建站模板关键词在线采集
  • 广州市海珠区建设局五位一体网站win10系统优化工具
  • 网站后台更新怎么做福州seo按天付费
  • 企业做网站的好处有哪些中国新闻最新消息
  • 想学网站制作口碑营销
  • 跨境电商东莞网站建设资源优化网站排名
  • 街道人大网站建设软文范例大全1000字
  • 网站建设和网站武汉大学人民医院地址
  • 网站引导页怎么做网络营销成功案例分析其成功原因
  • 网站建设ningqueseo爱站关键词查询
  • 网站建设的论坛今天热点新闻
  • 外贸网站营销方案seozhun
  • 网站建设合同 模板做公司网站
  • 众筹网站怎么做推广方案互联网整合营销推广
  • 苏州市建设厅网站首页关键词竞价排名
  • 淘宝做的代码能在其他网站用吗谷歌关键词查询工具
  • 如何设计公司网站长沙关键词优化新报价
  • php 中英双语网站源码深圳百度竞价推广
  • 镇江网站建设一般多少钱可以免费打开网站的软件
  • 网络推广网站建设有限公司桂林seo
  • 眉山网站建设aso网站
  • 什么学做网站太原网站快速排名提升
  • 网络营销就是建立企业网站搜狗网站收录
  • 赣州网络公司电话搜索引擎优化的分类
  • 移动微网站建设怎么弄一个自己的网站
  • 做长页网站快速排名软件哪个好
  • 自己建设网站不会咋办呀360识图
  • 哪些网站是用twcms做的免费外链网盘
  • 登录企业网站管理系统百度排行榜明星