java-第三天

来源:互联网 发布:红色网络家园安装包 编辑:程序博客网 时间:2024/06/06 05:28

继承的限制

1、在java中只允许单继承,而不允许多重继承,即一个子类只能有一个父类。但在java中允许多层继承。

2、从父类继承的私有成员,不能被子类直接使用

3、子类在进行对象实例化时,从父类继承而来的数据成员需要先调用父类的构造方法来初始化,然后再用子类的构造方法来初始化本地的数据成员。

4、被final修饰的类不能再被继承。



覆写和重载 类似:方法名相同,通过传递不同形式的参数,来完成不同类型的工作,这样“一对多”的方式实现“静态多态”。

方法的多态性:通过传递不同的参数来令同一方法接口实现不同的功能。



抽象类:java可以创建一种类专门用来当做父类。

作用:设计者根据它的格式来修改并创建新的类。


对于抽象类的使用原则如下:

抽象类必须有子类,子类使用extends继承抽象类,一个子类只能够继承一个抽象类;

子类(如果不是抽象类)则必须实现抽象类之中的全部抽象方法;

如果要想实例化抽象类的对象,则可以使用子类进行对象的向上转型来完成。


抽象类中可以有构造方法

与一般类相同,抽象类也可以拥有构造方法,但是这些构造方法必须在子类中被调用,并且子类实例化对象的时候依然满足类继承的关系,先默认调用父类的构造方法,而后调用子类的构造方法,毕竟抽象类之中还是存在属性的,但抽象类的构造方法无法被外部实例化对象调用。


模板方法模式:在使用抽象类时,将部分逻辑以具体方法和具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。



接口的使用规则

接口必须有子类,子类依靠implements关键字可以同时实现多个接口;

接口的子类(如果不是抽象类)则必须是想接口之中的全部抽象方法;

接口可以利用对象多态性,利用子类实现对象的实例化。

接口可以具有数据成员与方法,但是数据成员一定要赋初值,且此值不能再更改,方法也必须是“抽象方法”或default方法。


JAVA中有一个比较特殊的类,就是Object类,它是所有类的父类。

如果一个类没有使用extends关键字明确表示继承另外一个类,那么这个类就是默认继承Object类,因此,Object类是JAVA类层中的最高层类,是所有类的超类。


1、取得对象信息:toString()

在打印对象时被调用,将对象信息变为字符串返回。

在默认情况下,toString()输出的是对象的地址,当然每一个子类也可以自己进行修改。

2、对象相等判断方法:equals()

此方法用于比较对象是否相等,而且此方法必须被覆写。

用来比较两个对象的地址值

3、对象签名hashcode()

用来返回其所在对象的物理地址


基本数据类型:int char float double byte long short boolean 

基本数据类型包装类:Integer Character Float Double Byte Long Short Boolean


装箱操作:将基本数据类型变为包装类,利用各个包装类的构造方法完成;

拆箱操作:将包装类变为基本数据类型,利用Number类的xxxValue( )方法完成。









原创粉丝点击