JavaOO--第一部分(基础)

面向对象特征:

  继承、封装、多态

对象是存在的具体实体,具有明确定义的特征和行为

万物皆对象,对象因我关注而产生

面向对象:

一种认识事物的方式,注重对事物整体的认知,最符合人类自然的思维习惯。

属性是指对象身上的特性,行为是指对象产生的一系列动作。

扫描二维码关注公众号,回复: 7823939 查看本文章

类:

类是具有相同属性和行为的一组对象的集合;

在软件系统中,我们用类来模拟现实生活中的实体

类和对象的关系:

类是对象的抽象,对象是类的实例

结构化和OO的区别:

在结构化编程中,程序围绕着要解决的任务来设计

面向对象编程中,程序围绕着问题域中的对象来设计

面向过程:

优点:性能比面向对象高,因为类调用时需要实例化,开销大,比较消耗资源

缺点:没有面向对象易维护、易复用、易扩展

面向对象:

优点:易维护、易复用、易扩展

缺点:性能比面向过程低

基本数据类型

整数类型

byte  一个字节

Short 两个字节

Int  四个字节

Long 八个字节

浮点型

Float  四个字节

Double八个字节

字符型

Char 两个字节

布尔型

boolean

由系统确定

引用数据类型:

类、数组、接口

区别:

基本数据类型存放的是具体的数据

引用数据类型存放的是对象的地址

垃圾回收

回收的是内存中没有被变量引用的,同时没有被使用的对象

null表示在引用类型变量中没有存放任何对象的引用。对null值调用属性和方法,会抛出空指针异常。(Java.Lang.NullPointerExcption)

Java运行期数据存放

 new(对象)

 局部变量

数据段  类变量、常量  

代码段  方法的定义

变量按作用域分类

局部变量:方法和语句块内部定义的变量(栈空间,当方法或语句块一结束,局部变量空间就马上释放)

成员变量(属性):方法外部、类的内部定义的变量(堆空间,随对象产生而产生,随对象销毁而销毁)

类变量(静态变量):加上关键字“static”

成员变量和静态变量的区别:

  1. 成员变量包含在对象值中,每一个对象都有独立的成员变量。一个对象成员变量的改变,不会影响别的对象。静态变量独立在对象之外,所有对象共享静态变量。静态变量值的改变,会影响所有对象
  2. 成员变量跟随者对象存放在堆空间中,静态变量存放在数据段中。
  3. 静态变量在类加载时产生,产生在对象之前。成员变量随对象产生而产生 ,随对象销毁而销毁。
  4. 静态变量可以通过对象.和类名.的方式访问。而成员变量只能通过对象.的方式访问。

在一个包中,如果要使用另一个包中的类,那么需要通过import导入该类。本包中的类,和java.lang包中的类无需导入可以直接使用

包的作用:

  1. 可以组织相关的类
  2. 可以做到信息的隐藏

成员方法和静态方法的区别:

  1. 成员方法可以通过对象.的方式调用,静态方法可以通过对象.方式和类.的方式访问。
  2. 静态方法在类加载时加载,不能直接访问成员变量和成员访问 ;成员方法在 产生对象时加载,可直接访问成员变量、成员方法、静态变量、静态方法。

在方法之间传递和返回对象,传递和返回的是对象的引用。

构造方法(构造器):构造方法的方法名和类名相同,没有返回类型(包括void)。构造方法主要用于产生对象。

构造方法的作用:

  1. 为对象在堆空间中分配空间。
  2. 初始化成员变量。
  3. 返回对象的引用。

如果一个类没有定义构造方法,虚拟机会默认分配一个共有的无参构造方法。如果该类中定义了构造方法,默认的无参构造方法就会消失。

在方法中访问变量,会优先访问局部变量。如果局部变量不存在,那么,在访问成员变量或静态变量。  this表示当前变量,this.访问的是当前变量的属性或方法。

静态变量在类加载时完成初始化

如果一个类声明为public,那么该类的类名和文件名必须一致。一个类里不能有两个为public的类名

猜你喜欢

转载自www.cnblogs.com/hjping/p/11838949.html