Java学习笔记(三) 面向对象基础

一、面向对象的概念

面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用函数。

面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

 

二、类和对象

类即为分类标准,由属性和方法两部分构成。//抽象

对象是类的一个实例。//具体

 

类定义的格式:
[ 类修饰符] class  类名 [ extends  父类名 ][ implements  接口名 ] {
	    成员变量定义;
	    方法定义;
}

类的实例化-对象的产生

采用new关键字实例化对象

 

三、构造函数

构造方法是一个类方法中方法名与类名相同的类方法,它的作用是当使用new关键字创建一个对象时,自动调用并对新建对象进行初始化操作.
构造方法的特点
构造方法与类名相同
构造方法没有返回值,不定义返回类型
构造方法可以重载,针对参数数量和类型定义多个同名构造方法
构造方法不能由编程人员显式地直接调用,它是在对象创建时由new 运算符自动调用的
构造方法只用来对类实例进行初始化,目的在于简化初始化操作
在Java中,对象的创建和初始化是统一的——两者缺一不可

构造方法的作用 对象初始化 引入更多的灵活度(变量赋值或更复杂的操作)

 

四、类成员变量和类成员方法

static修饰的成员变量为类成员方法、也叫静态变量
保存在内存区的公共存储单元中,而不是保存在某个对象的内存区中。任何一个类对象在访问它时都会得到相同的数值。
如果某一个类对象对它进行了修改,所有对象的此成员变量也都做了修改。
可以通过类名调用静态变量
static修饰的成员方法为类成员方法、也叫静态方法
静态方法属整个类,不用进行实例化操作
静态方法只可以使用类中的静态成员,不能使用非静态成员
可以通过类名调用静态方法

附题一道:

 

五、Date类和Calender类

Date  date = new Date();
System.out.println(date);
Calendar calendar =  Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR, 1);
date = calendar.getTime();
System.out.println(date);

六、 数组

数组表示一组类型相同的有序数据。

必须先定义再使用,数组是对象。

声明一个数组仅为数组指定了数组名和元素的数据类型,并未指定数组元素的个数,系统无法为数组分配存储空间。

因此需要初始化

静态初始化和动态初始化

静态初始化:定义数组的时候同时进行初始化 

动态初始化:使用new操作符分配空间

Array ArrayList Vector区别

 

七、Java内存分配

 

程序计数器:是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器

方法区:
类信息:存储类的一般信息
静态区域:存储由static关键字定义的变量
常量池:存储代码中的常量信息
代码区:存储编译后的代码

堆:Java语言中采用new关键字实例化对象存储的位置,只存储对象的变量,不存储方法。
栈:先进后出
虚拟机栈:Java虚拟机 执行过程中使用内存
局部变量表:只存储8种基本数据类型和引用
操作栈:
动态链接
方法返回地址
本地方法栈:非Java语言代码执行过程中用的内存

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值