finalkeyword:

finalkeyword是终于的意思,能够修饰类,成员变量,成员方法。

•    修饰类,类不能被继承

•    修饰变量,变量就变成了常量,仅仅能被赋值一次。

•    修饰方法,方法不能被重写

finalkeyword面试题

•    final修饰局部变量

在方法内部,该变量不能够被改变,仅仅能够赋值一次。

在方法声明上,分别演示基本类型和引用类型作为參数的情况

基本类型。是值不能被改变

引用类型,是地址值不能被改变。

对象在堆内存的值是能够改变的。

•    final修饰变量的初始化时机

在对象构造完成前就可以(非静态常量)

权限修饰符修饰局部变量没有不论什么意义。

多态:某一个事物,在不同一时候刻表现出来的不同状态。

看对象时,从有往左看。

举例:

猫能够是猫的类型。猫 m = new 猫();

同一时候猫也是动物的一种,也能够把猫称为动物。

动物 d = new 猫();

多态前提和体现

•    有继承关系

•    有方法重写

•    有父类引用指向子类对象

多态时成员訪问特点

成员变量

编译看左边。执行看左边

成员方法

编译看左边,执行看右边

静态方法和类相关

编译看左边,执行看左边

所以静态方法不能算方法的重写

对象的转换关系

(1)      向上转型:在创建对象时,对象能够作为本身的类型引用,能够作为父类型的引用(将一个子类对象直接赋值给一个父类的引用变量)。

向上转型语法:<父类型><引用变量>=new<子类型>

实际调用的是子类的方法。

(2)向下 转型:将父类的对象作为其子类的类型的引用(须要强制类型转换)。

向下转型的语法:<子类型> <引用变量> = (<子类型>)<父类型引用变量>;

类型转换注意事项

(1)向上,向下都必须是两个类型之间存在继承关系。

(2)向上时,系统会自己主动进行类型转换,无强制转换。

(3)向下时。仅仅有父类的引用变量才干转换成子类。一个父类的实例对象是不能被强制转换成子类的。

(4)基本数据类型的转换时仅仅能是数值型的数据(包含整型,字符型,浮点型),同一时候数值型无法同布尔类型转换。

多态的优点:提高代码的可维护性(由继承体现)   提高代码的扩展性

Java基础学习之final和多态及类型转换的更多相关文章

  1. java基础学习笔记三(多态)

    多态? 多态是同一个行为具有多个不同表现形式或形态的能力. 存在的必要条件 继承 重写 父类引用指向子类对象 比如: Parent p = new Child(); 当使用多态方式调用方法时,首先检查 ...

  2. JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)

    1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...

  3. java基础学习之final关键字

    final可以修饰类.方法.变量,一旦使用了final则将不能改变被修饰的对象的引用; 被final修饰的类不可以被继承 被final修饰的方法不可以被覆盖 被final修饰的变量一般为常量,只允许对 ...

  4. [转帖]java基础学习总结——多态(动态绑定)

    https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态

  5. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  6. Java基础学习(2)

    Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...

  7. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  8. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  9. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

随机推荐

  1. selenium 浏览器基础操作(Python)

    想要开始测试,首先要清楚测试什么浏览器.如何为浏览器安装驱动,前面已经聊过. 其次要清楚如何打开浏览器,这一点,在前面的代码中,也体现过,但是并未深究.下面就来聊一聊对浏览器操作的那些事儿. from ...

  2. python基础(一)—— 核心数据类型

    Hello World程序 [root@mysql ~]# python3 Python 3.6.5 (default, Jul  8 2018, 11:41:23) [GCC 4.4.7 20120 ...

  3. kvm的4中网络模型(qemu-kvm)

    1. 隔离模式(类似vmare中仅主机模式):虚拟机之间组建网络,该模式无法与宿主机通信,无法与其他网络通信,相当于虚拟机只是连接到一台交换机上,所有的虚拟机能够相互通信. 2. 路由模式:相当于虚拟 ...

  4. grunt 使用比较

    http://www.cnblogs.com/yexiaochai/p/3603389.html 最全的uglify使用DEMO http://www.cnblogs.com/artwl/p/3449 ...

  5. sql模糊查询,解除绑定的单号

    --610007570320-610007571319 1000张 delete from (select t.* from (select t1.bill_code, t1.bind_code, t ...

  6. Linux 修改主机名

    1 vi /etc/sysconfig/network 2 vi /etc/hosts 3 hostname xxx 4 Done! 退出重连后生效

  7. HDU 4436 (后缀自动机)

    HDU 4436 str2int Problem : 给若干个数字串,询问这些串的所有本质不同的子串转换成数字之后的和. Solution : 首先将所有串丢进一个后缀自动机.由于这道题询问的是不同的 ...

  8. 为什么zookeeper的节点配置的个数必须是奇数个?

    zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的.也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半, ...

  9. POJ 1470 Closest Common Ancestors【LCA Tarjan】

    题目链接: http://poj.org/problem?id=1470 题意: 给定若干有向边,构成有根数,给定若干查询,求每个查询的结点的LCA出现次数. 分析: 还是很裸的tarjan的LCA. ...

  10. topcoder 649 DIV2

    8 A:模拟 9:B:终于看懂题目... 题意:最多分解K次 每分钟一个数可以分解成两个数 或者-1: 关键字:DP,记忆花搜索. DP[I][J]=min(dp[i][j],1+max(dp[ii] ...