三.面向对象基础知识
Posted magic-li
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三.面向对象基础知识相关的知识,希望对你有一定的参考价值。
静态语言与动态语言:
静态语言:Java
1.变量类型一旦确定,不可变(只能赋,不能转)
但是可以类型转换{隐式,显示}
2.对象的类型,一旦确定,不会改变,一个对象本身的类型,就是new的时候所使用的那个类型
动态语言:Javascrip
重载:编译时多态,在编译的时候确定,当前调用的方法是哪一个类中的指定方法
1.发生在同一个类中
2.有不同的方法,但是方法名相同,参数列表不同
3.访问修饰符,返回类型,抛出异常没要求(可以相同,可以不同)
public void test(){}
public void test(String a){
t.test();
}
!!重载方法辨识度唯一:举个例子:(多个匹配函数)
public void test(double a){
}
public void test(float a){
}
重写:运行时多态,在运行的时侯确定,当前调用的方法是哪一个对象中的指定方法
1.发生在子类父类之间,子类继承了父类的某一个方法,然后子类又对这个方法进行了重写(private方法不可以重写)
2.子类中重写的方法,和父类中原来的方法,方法名和参数列表必须相同
3.方法的访问权限修饰符,可以扩大,不可缩小
4.方法的返回类型,可以相同,可以不同,若不同重写后的返回类型,必须是原来返回类型的子类型(基本类型必须一致)
5.异常抛小,不能抛大,可以一致
注意:默认情况下,我们重写的方法,都会和父类中继承方法保持一致的声明,只有方法实现的代码块中的代码,会被重写编写
以上是关于三.面向对象基础知识的主要内容,如果未能解决你的问题,请参考以下文章