面向对象(二)

 

一、设计模式

设计模式:就是对某一问题行之有效的解决方式

单例设计模式:就是一个类在内存中只创建一个对象实例。

单例模式的特点:

A某个类只能有一个实例;

B它必须自行创建这个实例;

C它必须自行向整个系统提供这个实例。

使用单例模式的原因是当实例存在多个会引起程序逻辑错误。

注意以下两种方法的区别

 

 

二、内部类

1、非静态内部类

将一个类定义在另一个类的内部,这个类就叫做内部类也叫嵌套类;

定义内部类的主要作用:

A、内部类提供了更好的封装;

B、内部类可以直接访问外部类的私有数据。

C、匿名内部类适合用于创建那些仅需要一次使用的类

内部类的特点:

A、内部类可以直接访问外部类中的成员,包括私有成员;

B、外部类要访问内部类的成员必须要建立内部类对象。

含有内部类的Java源程序编译后,会产生两个class文件,一个是外部类的的class,另一个是以OutClass$InnerClass.class形式命名的内部类class文件。

如果存在一个非静态的内部类对象,则一定存在一个被它寄存的外部类对象,反之则不然。

当内部类存在于局部的话,不能直接访问局部变量。

Java不允许在非静态内部类中定义静态成员(包括静态方法、静态属性、静态初始化块)。

2、静态内部类

静态内部类中可以包含静态成员,也可以包含非静态成员,但不可以有静态初始化块。

当内部类被static修饰的时候,只能访问外部类的静态成员。

三、继承

1、继承的特点

        Java的继承通过extends关键字来实现。实现继承的类称为子类,被继承的类称为父类,也称为基类、超类。父类和子类的关系是一般与特殊的关系。我们可以说子类是一种特殊的父类。

       继承的特点:

        A、提高了代码的复用性;

        B、让类与类产生了关系,是多态的前提。

注意:(1)、Java只支持单继承,不支持多继承。(2Java的子类不能获得父类的构造函数。

 

2、覆写

       子类包含与父类同名方法的现象被称为方法重写,也称覆盖或覆写。

        方法的覆写要遵循“两同两下一大”的规则,“两同”即方法名相同、形参列表相同;“两小”是子类方法返回值类型应比父类的方法返回值类型更小或相等,子类方法声明抛出的异常应比父类声明抛出的异常更小或相等;“一大”就是子类方法的访问权限应比父类方法更大或相等。

       注意:

 (1)、子类的方法的权限必须要不小于父类的权限,才能进行覆写;

 (2)private 修饰的方法不能被覆写;

 (3)、覆写static修饰的方法的时候,必须也是static修饰的。

3super关键字

      如果需要在子类方法中调用父类被覆写的方法,可以使用super关键字来调用。

      super是父类对象的默认应用。

      子类不能获取父类的构造函数,但可以通过super()语句来调用父类的构造函数。

      注意:

1、子类的构造函数默认首行有一条super语句:super();

2、当父类中空参数的构造函数不存在的时候,需要通过super语句进行调用父类的构造函数;

3super不能出现在static的方法中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值