Java第十三课---面向对象(多态)
2022/3/9 22:14:59
本文主要是介绍Java第十三课---面向对象(多态),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
多态
-
动态编译:类型:可扩展性
-
即同一方法可以根据发送对象的不同而采用多种不同的行为方式
-
一个对象的实际类型是确定的,但可以指向对象的引用类型有很多(父类,有关系的类)
-
多态存在的条件
-
有继承关系
-
子类重写父类方法
-
父类引用指向子类对象
-
-
注意:多态是方法的多态,属性没有多态性
-
instance of (类型转换)引用类型
多态注意事项:
-
多态是方法的多态,属性没有多态
-
父类和子类,有联系 类型转换异常!Class Cast Exception!
-
存在条件:继承关系,方法需要重写,父类引用指向子类对象! Father f 1=new Son();
不能重写的方法
-
static 方法,属于类,它不属于实例
-
final 常量:
-
private 方法:
package com.oop.demo06; public class Person { public void run(){ System.out.println("run"); } } ===================================== package com.oop.demo06; public class Student extends Person{ @Override public void run() { System.out.println("son"); } public void eat(){ System.out.println("eat"); } } ===================================== package com.oop; import com.oop.demo06.Person; import com.oop.demo06.Student; public class Application { public static void main(String[] args) { //一个对象的实际类型是确定的 //new Student //new Person //可以指向的引用类型就不确定了:父类的引用指向子类 //Student 能调用的方法都是自己的或者继承父类的 Student s1 = new Student(); //Person 父类型,可以指向子类,但是不能调用子类独有的方法 Person s2 = new Student(); Object s3 = new Student(); //对象能执行那些方法,主要看对象左边的类型,和右边关系不大! //s2.eat();父类没有eat方法,无法直接调用子类的 s2.run();//子类重写了父类的方法,执行子类的方法 s1.eat(); } }
-
-
这篇关于Java第十三课---面向对象(多态)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27本地多文件上传的简单教程
- 2024-11-27低代码开发:初学者的简单教程
- 2024-11-27如何轻松掌握拖动排序功能
- 2024-11-27JWT入门教程:从零开始理解与实现
- 2024-11-27安能物流 All in TiDB 背后的故事与成果
- 2024-11-27低代码开发入门教程:轻松上手指南
- 2024-11-27如何轻松入门低代码应用开发
- 2024-11-27ESLint开发入门教程:从零开始使用ESLint
- 2024-11-27Npm 发布和配置入门指南
- 2024-11-27低代码应用课程:新手入门指南