Java复习一

面向对象的分析(OOA,ObjectOriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现(OOP,Object Oriented Programming)
面向对象的特性:
1.封装性:保护内部的定义的安全性
2.继承性:在已有的程序结构上继续扩充新的功能
3.多态性:指的是在某一个概念范围内的满足。
面向对象就是一种组件化的设计思想
一:类与对象
1:认识类与对象
类与对象时整个面向对象中最基础的组成单元。
类:是抽象的概念集合,表示的是一个共性的产物,类中定义的有属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
二:类与对象的定义及使用
1.声明并实例化对象内
类名称 对象名称 =new 类名称();声明实例化对象
2.分布完成
类名称 对象名称=null 声明对象(为开辟堆内存的对象)
nullpointerException 空指向异常
对象名称 =new 类名称();实例化对象(开辟了堆内存)
类是引用数据类型
引用数据类型最大的不同在于需要内存的开辟及使用,使用关键字new
的主要功能是开辟堆内存空间,属性值是默认值;
栈内存保存的是堆地址。开辟的堆内存开始存的是默认值,
三:引用数据
1.使用关键字new的主要功能是开辟堆内存空间,属性值是默认值;
如果两个对象指向的是同一块堆内存空间,所以任何一个对象修改了堆内存中的数据,会影响到其他的对象。一块堆内存可以同时被多个栈内存所指向,一块栈内存只能指向一个堆内存中的地址。
2.在引用数据关系里面,一块没有任何栈内存指向的堆内存空间就将成为垃圾,垃圾会被gc进行回收,回收之后会释放占用的空间。
==============================
封装:
1.保证类内部的定义被外部不可见。
2.所有的类中定义的属性都要求使用private声明
,如果属性需要被外部多使用,添加getter和setter方法。
=============================
构造方法:
1.对象的产生格式:
类名称 对象名称 =new 类名称();
类名称:规定了对象的类型,对象可以使用哪些属性和方法;
new:开辟新的堆内存空间,如果没有new,对象无法实例化。
类名称():调用了一个与类名称一致的方法(构造方法)。
2.构造方法的定义原则:方法名称与类名称相同,没有返回值声明。
new的时候调用。
java编译后会自动生成一个无参的构造方法。
3.构造方法与一般方法的最大区别:
如果在类中明确定义了一个构造,默认的构造将不再自动生成。
一个类中至少保留一个构造方法。
一个对象只能调用一次构造方法。
构造方法在实例化新对象的额时候只调用一次。
普通方法在实例化对象之后可以调用多次。

构造方法的核心作用;
在对象实例化的时候的设置属性的初始化内容。
构造方法的重载:
只注重参数的个数和类型。
遗留问题:
在定义一个类的时候可以为属性直接设置默认值,但是这个默认值只有在构造执行完后才会设置,而构造方法是属于整个对象构造过程的最后一步。
对象实例化过程中,一定会经历累的加载,内存的分配,默认值得设置,构造方法。
匿名对象:
没有栈指向的对象就是匿名对象。
只能使用一次,使用一次之后等待回收。
===========================================
数组:引用数据类型
对象中的堆内存保存的是属性,数组中保存的是一组数据。
数组长度不可变;
声明开辟数组
动态初始化
数据类型[] 数组名称 = new 数据类型[3]
数据类型[] 数组名称 = {}
静态初始化
数据类型[] 数组名称 = new 数据类型[]{}
分步完成
数据类型[] 数组名称 = null;
数组名称 = new 数据类型[3];
数组越界异常(ArrayIndexOutOfBoundsException)
数组的引用传递
----------------------------
二维数组
动态初始化
数据类型[][] 数组名称 = new 数据类型[3][4]
静态初始化
数据类型[][] 数组名称 = new 数据类型[3][4]{{},{}}
------------------------------
数组与方法参数的传递
在进行数组的引用传递过程中,方法对数组的修改一定会影响到原始数据。
数组的排序操作(冒泡排序)
数组的方法:
java.utils.Arrays.sort()
Arrays.sort()数组排序
-------------------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值