oop_promax_mutipleAndFinal

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.注意:常量名的命名规范:建议使用大写英文字母,多个单词使用下划线连接起来。
*/

posted @ 2024-03-30 15:27  qing集  阅读(1)  评论(0编辑  收藏  举报