面向对象
思想
- 从现在世界中客观存在的事物出发来构造软件系统,在系统的构造中尽可能运用人类的自然思维方式。
- 强调运用人类在日常常采用的思想方法与原则,如抽象,分类,继承,聚合,多太等。
Java与面向对象
- Java程序的核心就是对象(java程序中万事万物皆对象)
- 对象可看成静态属性和动态属性的封装体
- 类是创建同一类型的对象的模版,在一个类中定义了该对象具有的成员变量及方法
Java类的定义
- 类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所具有的静态和动态属性
- 类可以一类对象的模版
Java面向对象基本概念
- Java语言中除基本类型外变量类型都称引用类型
- Java中对象是通过引用对其操作的
对象创建和使用
必须使用new关键字创建对象
Student st = new Student();
- 使用对象.成员变量来引用对象的成员变量
- 使用对象.方法来调用对象的方法
- 同一类的每个对象有不同的成员变量储存空间
- 同一个类的每个对象共享该类方法
成员变量
- 成员变量可以使用Java语言中任何一种数据类型
- 定义成员变量可初始化,不初始化,将使用默认值
- 成员变量的作用范围为整个类体
内存分析
|
|
这里内存分布图如下:
命名规则
- 类的首字母大写
- 变量名和方法名首字母小写
- 用驼峰标识
方法重载(overload)
指一个类中可以定义相同的名字,但参数不同的多个方法。调用时,根据不同参数表选择对应的方法
this 关键字
- 一般用在类的方法中,代表使用该方法的对象的引用
- 必须指出当前使用方法的对象是谁时要使用this
- 使用this可以处理方法中成员变量和参数重名情况
- this可以看作一个变量,他的值是当前对象的引用
static关键字
- 在类中,static声明的成员变量为静态变量,它为该类的功用变量,第一次使用被初始化,对该类的所有对象来说,static成员变量只有一份。
- 申明方法为静态方法,在调用时不会将对象的引用传递给他,所以在static方法中不可访问非static的成员(静态方法不在是针对于某个对象调用,所以不能访问非静态成员)
- 可以通过对象引用或类名访问静态成员