java基础总结-01

java


前言

转眼之间自己学习java已经过去整整6个月了,在这六个月的时间里,我从一个java编程小白变成了一个对java有了一定了解的小菜鸡,对于自己来说是一个小小的蜕变也是属于自己的目标。学习了这么久对于自己来说有一定的疲倦感了,很多时候早上起来不知道自己该干什么也是在这样的环境下我准备了一个月的java学习基础。下面就是对于自己一个月的基础总结以及相关的学习


下面是对java面对对象的总结以及学习,正是有次面试官问我什么是面对对象?我当时是一头雾水,我知道什么是面对对象但是要我讲出来我却有点困难。。。。。

一、面向对象的概述

  • 面向对象是软件开发方法,面向对象的概念和应用已经超越了程序设计和软件开发,是一种对现实世界的理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
  • 面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高层次来进行系统建模,更贴近事物的自然运行模式。
  • 下面是自己对于面向对象的理解

计算机是人发明的,那么对于计算的参照物当然就是人与自然,对于计算机中的编程语言来说,在类似于C,java这样的高级编程语言来说亦是对于人与自然的相关体现,那么怎么体现呢?
首先对于一个编程初学者来说,面向对象的思想是十分重要的,同时这也是一种属于面向对象编程的重点。面向过程的编程思想面向的是执行的过程,而面向对象在乎的是具备功能的对象。

二、思想的转变

  • 开始的语言在乎的是面向过程编程,在我们开始的学习中总是会将很多的方法写在一个类里面,里面会有许多的方法,可能会有几百行代码,还记得在开始学习的时候写的一个关于快递的管理小项目,在里面的输入输出都是在一个类中完成的没有什么相关的类与对象的思想体现,也是这样的情况写写了有几百行代码在一个类中,当时的自己总是会有一大堆的错误,到处去找我是哪里出错了,到底是怎么回事,在那个开始学习的时间里我总是想着放弃,但是也正因为如此,我对于很多的代码没有了那种恐惧感。
  • 学习嘛有个过程。没有对于面向过程的那种情景下的编程,怎么会有自己对于后面关于面向对象的那种有理有条的感受,没有很多的代码,能够有的是多了很多的类,在使用这样的类的时候我们通过创建对象的方式进行相关类的调用并且能够多次的使用。不得不感叹这样的思想真的是十分的到位,十分的舒适。

在这里我不敢说我掌握了面对对象的思想,因为在后面的时候我依旧会以面向过程的思想的去处理大多数的问题,但是在后面看了设计模式这样的概念彻底的改变了这样的一种思想。

三、面向对象与设计模式之简单工厂模式

  • 在这里是我后面对于设计模式有一定的了解的时候感受的面向对象的思想。
  • 对于一般的程序我们自己写了自己用没有什么其他的事情去给这样的程序进行相关的添加,也就是复用以及对于程序代码的相关扩展。那么这里的复用则体现了面向对象的思想,可扩展则体现了设计模式的思想。这里我想说的是简单工厂模式

简单工厂模式是在设计模式的开始第一个设计模式,通常我们创建一个属于自己的程序时都会直接的使用面向过程的方式去进行创建也有的对于面向对象有深刻体会的人会用面向对象的方式创建。但是对于简单工厂来说这样是不够的,总所周知人是非常善于使用工具的,能够将原材料输入得到想要的结果对于人们来说就是很重要啦!!那么怎么用呢,这里就要体现一个工厂的概念,工厂里面有人或者机器来进行相关的加工,会根据操作人的需求得到属于自己的结果。那么对于编程来说这样的方式明显不错,这就相当于一个个的函数一样。这里的简单工厂模式富含很多的继承与多态的概念,(如果对于这样的概念没有很多了解的同学可以去了解这样的概念,但是这里也只是提一下)通过工厂的输入的原材料的不同得到属于自己的结果,这就是简单工厂模式。

  • 看这个一定十分的懵吧,这都是正常的,可以去看看设计模式这本书。

四、三大特征

  • 大家应该都知道三大特征,毕竟对于一个要学习java的人来说不知道这个还是有点恼火,但是对于我来说在学习了这么久的java对于这三个概念依旧说的不是很清楚,这也是我后面对于java基础的复习中才进一步了解这样的三大特征,说来惭愧!!

1.封装 private

1.1概念

  • 在开发过程中,为了避免出现逻辑错误,通常会对所有的属性进行封装并为其提供get/set的方法进行设置和取值的操作。这样的原则是:

隐藏对象的属性和实现细节,仅对外公开访问方法并且控制访问级别。
保护/防止代码被破坏,保护成员属性,不让类以外程序直接访问

  • 对于封装来说,这就是它的相关操作,通过private修饰的成员变量就是实现了相关的封装。

2、继承

  • 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类

2.1概念

  • 是指在一个现有类的基础上构建一个新的类,构建出来的新的类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性以及方法—在执行方法上先父类再子类。一个子类只有一个父类

2.2关键字

  • this:是对当前对象的引用
  • super:访问的是父类中的成员变量

2.3重写与重载

  • 重写

方法覆盖。如果子类父类中出现重名的成员方法,这个时候的访问是一种特殊情况,叫做方法重写(override)。子列中出现于父类一模一样的方法时(返回值类型,方法名和参数列表都相同)会出现覆盖效果,也称为重写或者覆写。声明不变,重新实现。

  • 重载

overload,方法名相同,参数不同出现在同一个类中的相同方法

  • 他们两个的区别很容易就可以看出来了,貌似没有什么联系。也真的没有什么联系。只是长的很像所有经常用来做相关的比较。

3、多态

  • 对象多态:父类的引用指向子类
List list = new ArrayList();
  • 上面的引用方式就是多态的体现

3.1概念

  • 对象的多态性,从概念上非常好理解,在类中有子类和父类之分,子类就是父类的一种形态,对象多态性就从此而来。

方法的重载与重写也是多态的一种,不过是方法的多态(相同方法名多个形态)
重载:一个类中方法的多态性体现。
重写:子类中方法的多态性体现。

  • 多态的使用

类似于基本数据类型的转换
1.向上转型(子类实例变为父类实例)
2.向下转型(父类实例变为子类)

  • instanceof关键字

作用:判断某个对象是否是指定的实例,则可以使用instanceof关键字


总结

上面是对于java基础的一些总结,之后还有一系列的相关总结,基础的这样一些知识是自己对于java学习的基层,把自己的基层打好十分重要。围绕着java的三大特征还有许多的延伸,比如后面的抽象类与接口的使用,同时这个也是围绕着设计模式的重点东西。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值