您的位置:首页 > 编程语言 > Java开发

java继承复写多态概念

2018-01-18 11:15 218 查看
final修饰的类,表示最终的类  ,该类不能再有子类
只要满足以下条件就可以把一个类设计成final类
1.某类不是专门位继承而设计
2.出于安全考虑,类的实现细节不许改动,不准修改源代码。
3.确信该类不会被拓展。
面试题:列举五个java中内置的使用final修饰的类
java里面final修饰的类有很多,比如八大基本数据类型保证和String等
final修饰的方法:最终的方法,该方法不能被子类覆盖。
什么时候的方法需要使用final修饰
1.在父类中提供的统一的算法骨架,不准子类通过方法覆盖来修改,此时final修饰,模块方法设计模式
2.在构造器中调用的方法(初始化方法),此时一般使用final修饰。

注意:final修饰的方法,子类可以调用,但是不能覆盖
final修饰的变量:final修饰的变量,最终的变量,常量,该变量只能赋值一次,不能再赋值
final是唯一可以修饰局部变量的修饰符。

常量名规范:常量名符合标识符,单词全部使用大写字母,如果是多个单词组成,单词间使用下划线隔开
int类型的最大值  :final int  MAX_VALUE=...; 

final修饰基本类型变量:表示该变量的值不能改变,即不能使用“=”号重新赋值。
final修饰引用类型变量:表示该变量的引用的地址不能变,而不是引用地址里的内容不能变。

补充概念:全局静态产量:public static final修饰的常量,或者是变量。

面试题:
final修饰的引用类型变量到底是表示引用的地址不能改变,还是引用空间里的

设计模式:是一套被反复使用、多人知晓的,经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更
容易被他人理解、保证代码的可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正的工程化;设
计模式是软件工程的基石脉络,如同大厦的结构一样。

单例设计模式(singleton):最常用 ,最简单的设计模式
目的:保证某一个再整个项目中某一个类有且只有一个实例(一个类再堆内存里面只存在一个对象)即所有指向该类型的实例的引用
都指向同一块内存空间。

写单例模式的步骤,
1.必须再该类中,自己先创建出一个对象
2.私有化自身的构造器,防止外界通过构造器创建新的对象
3.向外暴露一个公共静态的方法用于获取自身的对象

工具类:存放了某一事物工具方法的类
工具类存放的包:工具包(util,utils,tool/tools,helper,helpers)存放工具类 

上述的问题,就是因为基本数据类型缺少对象,如果需要对象,必须先有类
此时我们可以为每一个基本类型都编写一个对应的包装类,类中包含了该基本类型的一个值
工具类起名:XxxUtil/XxxUtils/XxxToll
比如ArrayUtil,StringUtil,jdbcUtil
---------------------------------------------------------------------------
工具类如何设计:工具再开发中其实只需要存在一份即可
1.如果工具方法没有使用static修饰,说明工具方法的使用工具类的对象来调用
此时把工具类设计为单例的。
2.如果工具方法全部使用static修饰,说明工具方法只需要使用工具类名调用即可。
此时必须把工具类的构造器私有化,防止创建工具类对象调用静态方法。
一般的,首选第二种,简单,再jdk中提供的工具类都是第二种,如java.util.Arrays

基本数据类型包装类:
问题1:在面向对象中“一切皆对象。现在问题来了 ,int age = 17,请问这个age代码哪里有对象
没有对象,基本类型变量,不是对象 ,此时有矛盾
问题2:现在给你一个复杂的十进制数据,请你迅速给我转成二进制,八进制,十六进制
问题3:现在使用double类型来表示学生的考试成绩,但是:你怎么表示一个人缺考和考试得零分
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: