mutiple
/*
!!!什么是多态?
1.多态是在继承/实现情况下的一种现象,表现为:对象多态、行为多态。
2.多态的具体代码实现:
people p1 = new Student();
p1.run(); //编译看左边,运行看右边
people p2 = new Teacher();
p2.run();
3.多态的前提:
有继承/实现关系;存在父类引用子类对象;存在方法重写。
多态的一个注意事项:
多态是对象、行为的多态,Java中的属性不谈多态。
!!!使用多态有什么好处?存在什么问题?
1.可以解耦合,拓展性更强;使用父类类型的变量作为方法的形参时,可以接受一切子类对象。
Student s = new Student();//Student是People的一个子类
go(s);
Teacher t = new Teacher();//Teacher是People的一个子类
go(t);
public void go(People p){}
2.多态下不能直接调用子类的独有方法。
!!!类型转换有几种形式?能解决什么问题?
1.自动类型转化,强制类型转换。
2.可以把对象转换成其真正的类型,从而解决了多态下,不能调用子类独有方法的问题。
!!!强制类型转换需要注意什么?
1.存在继承/实现时,就可以进行强制类型转换,编译阶段不会报错。
2.但是,运行时,如果发现对象的真实类型与强转后的类型不同会报错(ClassCastException).
!!!强制类型转换前?Java建议我们做什么事情?
1.使用instanceof判断当前对象的真实类型:对象 instanceof 类型
*/
final
/*
1.final:
1.final 关键字是最终的意思,可以修饰i(类、方法、变量)
2.修饰类:该类被称为最终类,特点是不能被继承了。
3.修饰方法:该方法被称为最终方法,特点是不能重写了。
4.修饰变量:该变量有且只能被赋值一次。
2.final修饰变量的注意事项:
1.final修饰基本类型的变量,变量存储的数据不能被改变。
2.final修饰引用类型的变量,变量存储的地址不能被改变,但地址多执行对象的内容是可以改变的。
3.常量:
1.使用了static final 修饰的成员变量就被成为常量;
2.作用:通常用于记录系统的配置信息。
优点:代码可读性好、可维护性好。
程序编译后,常量会被"宏替换":出现常量的地方全部会被替换成其记住的字面量,
这样可以保证使用常量和直接用字面量的性能是一样的。
3.注意:常量名的命名规范:建议使用大写英文字母,多个单词使用下划线连接起来。
*/
标签:类型转换,变量,子类,mutipleAndFinal,多态,oop,promax,修饰,final
From: https://www.cnblogs.com/qingandji/p/18105560