(一) 类与对象的学习总结

类与对象

一.面向对象的编程语言

1.1 面向过程与面向对象

  • 面向过程:指的是将步骤一步步按部就班的完成,将每件事都依次做完。举例,洗衣服,加水->洗衣粉->浸泡->揉搓等
  • 面向对象:将对象封装成类,类中有自己的属性(变量)和方法(函数),再使用对象中的方法完成任务。举例,打开洗衣机->放入衣物->开始(不必关心洗衣机具体怎么洗)

1.2 类与对象

类是抽象的,对象是具体的.对象是类创建的实体,比如狗是一种抽象的概念,而邻居家中的那只狗就是一个具体的概念

1.3 类的定义

public class Person{
    //成员变量
    private int age;

    //成员方法
    Person(int age){
        this.age=age;
    }
    public void setAge(int num){
        age=num;
    }
    public int getAge(void){
        return age;
    }
}

1.4 封装的方法--private关键字

封装即把成员变量隐藏起来,不让对象直接调用改变成员变量,也是一种面向对象的思想.

private的含义

  1. private是一个权限修饰符,代表最小权限。
  2. 可以修饰成员变量和成员方法。
  3. 被private修饰后的成员变量和成员方法,只在本类中才能访问。

this的含义

  • this代表所在类的当前对象的引用(地址值),即对象自己的引用。

构造方法

当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。

  • 小贴士:无论你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法, 一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效。

1.5 对象的使用

创建对象:

类名 对象名 = new 类名();

对象的使用:

对象名.成员变量;
对象名.成员方法();

成员变量默认值

  • 未使用构造方法赋值时,对象的成员变量会赋值默认值.
数据类型 默认值
整数(byte,short,int,long) 0
浮点数(float,double) 0.0
字符(char) '\u0000'
布尔(boolearn) false
引用类型(数组,类) null

1.6 类和对象的储存位置

  • 栈内存:调用的方法(从main函数开始)依次进栈,方法调用结束出栈.
  • 堆内存:所有new的对象,变量都在堆内存储存,而栈内存中声明的对象或引用类型变量是其在堆内存的地址
  • 方法区:代码中的类的定义以及函数的定义在方法区中

1.7 成员变量与局部变量

public class Person{
     //成员变量
    private int age;
    
    //成员方法
    public int getAge(void){
        int newAge=age+1;//局部变量
        return newAge;
    }
}
不同之处 成员变量 局部变量
类中位置 类中,方法外 方法中或方法声明上(形参)
作用范围 类中 方法中
初始化值 有默认值 无默认值
内存位置 堆内存 栈内存
生命周期 创建对象开始,对象消失时消失 方法调用开始,调用完消失
posted @ 2020-03-04 23:18  Code-Coke  阅读(196)  评论(0)    收藏  举报