1.面向对象
(1) 面向对象的核心:
- 找对象;
- 创建对象;
- 使用对象。
(2) 面向对象的特点:
- 面向对象是一种常见的思想,比较符合人们的思考习惯;
- 面向对象可以将复杂的业务逻辑简单化,增强代码复用性;
- 面向对象具有抽象、封装、继承、多态等特性。
2.类和对象
(1) 类:就是一类对象的统称,类相当于一个模板;
(2) 属性:对象具有的各种特征(每个对象的属性都拥有特定值);
(3) 方法:对象执行的操作;
(4) 类的特点:类是对象的类型,是具有相同属性和方法的一组对象的集合;
(5) 对象:就是这一类具体化的实例,对象是由模板产生的样本;
(6)类和对象的关系:一个类主要包含一个事物的属性和行为;一个类,可以产生无数的对象。
3.类和类的实例化
(1) 定义类
-
声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类;
-
示例:
class Person { public int age;//成员属性 实例变量 public String name; public String sex; public void eat() { //成员方法 System.out.println("吃饭!"); } public void sleep() { System.out.println("睡觉!"); } }
(2) 类的实例化
-
用类类型创建对象的过程,称为类的实例化;
-
一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量;
-
示例:
class Person { public int age;//成员属性 实例变量 public String name; public String sex; public void eat() { //成员方法 System.out.println("吃饭!"); } public void sleep() { System.out.println("睡觉!"); } } public class Main{ public static void main(String[] args) { Person person = new Person();//通过new实例化对象 person-->引用变量 person.eat();//成员方法调用需要通过对象的引用调用 访问-->引用.方法 person.sleep(); //产生对象 实例化对象 Person person2 = new Person(); Person person3 = new Person(); } }
4.成员变量和局部变量
(1) 作用域不同
- 局部变量的作用域:局部变量在方法的内部,;
- 成员变量的作用域:成员变量在类的内部,方法的外部,作用在整个类;两类变量同名时,局部变量具有更高的优先级
(2)初始值不同
- 局部变量需要初始化;成员变量Java中会有一个默认值,可以不初始化;
(3) 存储位置不同:
- 局部变量在栈上;成员变量在堆上。
5. static关键字
(1) 修饰属性
- 静态成员变量(类变量)访问:类名.属性(建议);
- Java静态属性和类相关, 和具体的实例无关,不需要实例化对象;
- 静态成员变量,不存在与对象里面,在方法区;
(2) 修饰方法
- 在任何方法上应用 static 关键字,此方法称为静态方法;
- 静态方法属于类,而不属于类的对象,无需创建类的实例;
- 静态方法可以访问静态数据成员,并可以更改静态数据成员的值;
- 在普通成员方法中不可以定义一个静态成员变量,如果在方法的内部,是一个局部变量,作用域在方法的内部,而被static修饰又是全局可见的,二者相互矛盾;
- 在静态方法的内部不可以调用普通的成员方法,静态方法的本身不依赖于对象。