Java基础学习之final和多态及类型转换
来源:互联网 发布:视频画中画制作软件 编辑:程序博客网 时间:2024/06/05 03:06
final关键字:
final关键字是最终的意思,可以修饰类,成员变量,成员方法。
• 修饰类,类不能被继承
• 修饰变量,变量就变成了常量,只能被赋值一次。
• 修饰方法,方法不能被重写
final关键字面试题
• final修饰局部变量
在方法内部,该变量不可以被改变,只可以赋值一次。
在方法声明上,分别演示基本类型和引用类型作为参数的情况
基本类型,是值不能被改变
引用类型,是地址值不能被改变。对象在堆内存的值是可以改变的。
• final修饰变量的初始化时机
在对象构造完毕前即可(非静态常量)
权限修饰符修饰局部变量没有任何意义。
多态:某一个事物,在不同时刻表现出来的不同状态。
看对象时,从有往左看。
举例:
猫可以是猫的类型。猫 m = new 猫();
同时猫也是动物的一种,也可以把猫称为动物。
动物 d = new 猫();
多态前提和体现
• 有继承关系
• 有方法重写
• 有父类引用指向子类对象
多态时成员访问特点
成员变量
编译看左边,运行看左边
成员方法
编译看左边,运行看右边
静态方法和类相关
编译看左边,运行看左边
所以静态方法不能算方法的重写
对象的转换关系
(1) 向上转型:在创建对象时,对象可以作为本身的类型引用,可以作为父类型的引用(将一个子类对象直接赋值给一个父类的引用变量)。
向上转型语法:<父类型><引用变量>=new<子类型>
实际调用的是子类的方法。
(2)向下 转型:将父类的对象作为其子类的类型的引用(需要强制类型转换)。
向下转型的语法:<子类型> <引用变量> = (<子类型>)<父类型引用变量>;
类型转换注意事项
(1)向上,向下都必须是两个类型之间存在继承关系。
(2)向上时,系统会自动进行类型转换,无强制转换。
(3)向下时,只有父类的引用变量才能转换成子类,一个父类的实例对象是不能被强制转换成子类的。
(4)基本数据类型的转换时只能是数值型的数据(包括整型,字符型,浮点型),同时数值型无法同布尔类型转换。
多态的好处:提高代码的可维护性(由继承体现) 提高代码的扩展性
- Java基础学习之final和多态及类型转换
- java基础学习之final
- java基础之类型转换
- Java基础之类型转换
- java基础之类型转换
- java基础学习笔记-static和final
- java基础关键字之Static和final
- Java基础----类型转换与多态
- Java基础之final
- 【Java基础之数据类型转换】数据类型自动转换和强制转换、及相关常见面试题(如return (short)x / y* 2; 的返回类型)
- java基础学习——类型转换
- java之static 和 final学习
- Java基础之switch类型转换
- Java基础学习记录之final,finally和finalize的区别。
- Java之基本数据类型及类型转换
- C++学习之基础变量及类型
- Java多态之引用类型转换
- java基础学习面向对象之final关键字 五-9
- Spring boot 学习笔记 ---分分钟构建一个web程序(一)
- gpio
- linux下mysql安装和安装遇到的问题
- HT for Web列表和3D拓扑组件的拖拽应用
- Thread
- Java基础学习之final和多态及类型转换
- 优化Mysql数据库的8个方法
- Lowest Common Ancestor of a Binary Search Tree
- mysql必知必会(六)
- Xcode histogram图像显示测试
- 对比iOS中的四种数据存储
- 用C# 调用PowerShell 3.0
- 关于CDialog::DoModal
- MYSQL学习笔记(四)之常见的字符串函数