快要考试了~顺带着复习一下java的基础知识吧。
我觉着基础是最重要的,只要基础搞的明明白白透透彻彻的,再复杂的程序都能被分解成很简单的语句。
多态:就是一种功能的不同实现方法。在java程序设计语言中,对象变量是多态的。
子类的每一个对象也是超类的对象。
Object类是所有类的父类,假如我们在定义一个类的时候没有使用extends关键字,那么这个类就直接继承于Object类。继承最大的弱点就是打破了封装性。
例如:public class M {.......}
有些同学傻傻分不清方法重载和方法覆盖。
方法重载:指的是同一个类中方法名字相同,但是方法的参数类型、个数、顺序至少有一个不同,方法的返回类型可以不相同。
方法覆盖:如果子类中定义了一个方法,该方法的名称、返回类型及参数的类型、个数、顺序与父类中的某个方法的名称、返回类型及参数的类型、个数、顺序完全相同,那么可以说,子类的方法覆盖了父类的方法。但是子类方法不能抛出比父类更多的异常。子类方法抛出的异常必须和父类方法抛出的异常相同,或者子类方法抛出的异常类是父类方法抛出的异常类的子类。
注意一点:方法覆盖是存在于子类和父类之间,在同一个类中,方法只能被重载。
final关键字:被final修饰的类不能够被继承
被final修饰的方法不能被子类的方法覆盖
被final修饰的变量只能被赋值一次,可以看做是常量。
散列码是由对象导出的一个整形值,是没有规律的。由于hashCode()方法定义在Object类中,因此每个对象都有一个默认的散列码,它的值是对象的存储地址。有关于Object类中的toString方法我们下次再进行讨论。