java程序设计基础第9章第10章类与对象及面向对象总结(二)

二、面向对象

7、类的分类

1、实体类

类中的内容基本上都是成员函数或成员变量,也存在静态成员

2、工具类

提供已经被实现的功能,并向外部供应,基本上都是静态函数

运用静态的原因:

1)、共有

2)、存在时间长

3)、只需要加载一次,后续可随意使用

3、主类(测试类)

主要用于运行/测试代码,这个类中会有主函数的存在

实体类是可以存在主函数的

工具类一般不会存在主函数

8、 静态变量与成员变量的区别

1.生命周期

成员变量随着对象的创建而创建 随着对象的消亡而消亡

静态变量随着类的加载而创建 随着程序结束而消失

 2.调用方式

成员变量必须先创建对象 在通过对象去调用

静态变量可以被对象调用 也可以直接用类调用

3.存储位置

 成员变量存在于堆内存中对象的所属空间里

静态变量存在于静态方法区中类的所属空间里

4.命名

成员变量-对象的特有属性

静态变量-对象的共有属性 类成员

9、代码块

1、代码块:{。。。}

2、局部代码块:

存在于函数当中;for(){...} if(){...}

3、构造代码块:

直接在类中出现的{...}

当对象创建一次 构造代码块执行一次

作用:等同于构造函数

4、静态代码块:

直接在类中出现的static{...}

当类被加载的时候,仅且只执行一次

作用:对类进行一些初始化操作

10、单例模式

设计模式:就是我们的前辈们总结出来的一些编码技巧,它是由Java的广大使用者总结出来的一套编码经验,常见26种

单例模式:使用场景是 某一个类只能创建一个对象

1、只能创建一个对象 就得不能让外界去创建对象

2、外界不能创建对象 我们还得保证对象的创建

3、内部创建出对象 还得向外界提供

11、继承

继承由来是什么:

1、当我们在定义若干个类的时候,发现某一些类中具有相同的属性和行为那么,我们就可以将这些相同的部分进行抽取,独立生成另外一个类,那么这个生成出来的类我们称之为是父类,其他的被抽取内容的类称之为子类
2、子类与父类之间就是所谓的继承关系 用 extends来表示

子父类中成员变量/静态变量的特点:
        如果只有子类有且非私有 那么就调用子类的
        如果只有父类有且非私有 那么就调用父类的
        如果子父类都有且非私有 那么就调用子类的
        (成员变量之间 是不存在重写关系的!!!)
        子类.属性 顺序:子类对象成员->子类静态->父类成员->父类静态
        子类成员函数在内部调用变量时 局部变量->子类对象成员->子类静态->父类成员->父类静态

子父类中构造函数的特点:
        1、现象:子类的构造函数在调用运行的时候 先执行父类的构造函数

        2、 在子类的构造函数当中,有一句默认的super(...)隐藏了,而且这句代码必须是在第一行

        3、对super的调用必须是构造器中的第一个

        4、 this(...)是当前类中 本类构造函数调用本类构造函数的方式

        5、super(...)是本类构造函数调用父类构造函数的方式

子父类中成员函数的特点:
        如果只有子类有且非私有 那么就调用子类的

        如果只有父类有且非私有 那么就调用父类的

        如果子父类都有且非私有 那么就调用子类的(函数重写)

        函数重写:在子父类中,同名函数

        函数有什么组成:函数声明(权限 类型 返回值类型 函数名 参数列表)+函数体({}里面的内容)

        重写的意义:

        1.保留父类的功能声明 子类可以进一步优化
        2.保留父类的功能声明 子类可以重新定义

        重写当中应该注意到的一些细节:
        1.函数重名 但是参数列表不同 不构成重写关系
        2.函数重名 参数列表相同 构成重写关系 返回值类型也必须是一样的
        3.子类重写父类函数时,权限>=父类权限
        4.当然 如果父类函数权限为private 子类压根就继承不到 何谈重写

12、抽象类(模糊不清的类 不具体的类)

特点:

1、不能创建对象,对象本身是一个具体的东西 而抽象类中含有不具体的内容

2.必须作为父类,抽象类就等着被继承

3、抽象类就是一般类的特殊情况,唯一的区别只在于抽象类中有抽象函数

4、抽象类中不一定有抽象函数, AWT界面开发

13、多态(就是指一个对象可以有多种状态(他在继承体系中的位置变化))

多态当中 成员变量的特点:只能访问父类中的成员变量

多态当中 成员函数的特点:

1、如果子类没有重写 且父类中有 调用父类的

2、如果子类有重写 调用子类重写的

3、如果不存在重写 父类没有 那就报错了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值