day_03

--暑假第三天学习--

一.面向对象

对象:真实存在唯一的事物。
 
类: 实际就是对某种类型事物的共性属性与行为的抽取,是抽象的概念。
 
我们从小的时候就不断的接触很多的对象,我们的大脑就会把
这些具备相同属性与行为的事物进行分类。
 
在现实生活中就存在对象与类这两种事物。计算机是服务于人类,为了让计算机更加接近我们的
生活,这时候就出现了面向对象的计算机语言。
 
  面向过程(C语言)                  面向对象(java语言)

现实生活中 : 对象---------类
在java中: 类------------>对象

面向对象的计算机语言核心思想: 找适合的对象做适合的事情。

如何找适合的对象:
 1. sun公司已经为我们定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。
 2. 自定义类,通过自定义类来创建对象使用。

自定义类创建对象的三步骤:
 1. 自定义类。
   格式:
    class 类名{
     
     事物的公共属性使用成员变量描述。
     
     事物的公共行为使用函数描述。
    }
 
 2. 通过自定义类创建对象。
   格式:
    类名 变量名 =  new 类名();
   
 3. 访问(设置)对象的属性或者调用对象的功能。

  1.访问对象属性的格式:
   对象.属性名.
  2.设置对象的属性:
   对象.属性名 = 数据。
  3. 调用对象的功能
   对象.函数名();

eg:车类
 
class Car{
    
    //事物的公共属性使用成员变量描述。
    String    name; //名字的属性

    String    color; //颜色属性

    int wheel;    //轮子数
                    
    //事物的公共行为使用函数描述。
    public void run(){
        System.out.println(name+"飞快的跑起来啦...");
    }
}
class Demo1
{
 public static void main(String[] args)
 { 
Car c1 = new Car();
   c1.name = "宝马";
   Car c2 = new Car();
   c2.name = "大众";
   c1 = c2;
   System.out.println("名字:"+ c1.name);  //大众  大众 \大众
 }
}

 初学者的经典错误:
 1. 变量在同一个作用域(大括号)上是可以直接访问的。
 2. 如果一个类要访问另外一个类变量时,那么这时候就只能通过创建对象进行访问。(仅对于目前正确)

二.成员变量与局部变量

1.成员变量与局部变量的区别:
 
 定义的位置上区别: 
  1. 成员变量是定义在方法之外,类之内的。
  2. 局部变量是定义在方法之内。
 
 作用上的区别:
  1. 成员变量的作用是用于描述一类事物的公共 属性的。
  2. 局部变量的作用就是提供一个变量给方法内部使用而已。
 
 生命周期区别:
  1. 随着对象 的创建而存在,随着对象的消失而消失。
  2. 局部变量在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出了自己的作用域
  那么马上从内存中消失。
 
 初始值的区别:
  1. 成员变量是有默认的初始值。
    数据类型     默认的初始值
    int                0
    float              0.0f
    double              0.0
    boolean            false
    char                 ' '
    String(引用数据类型) null

  2. 局部变量是没有默认的初始值的,必须要先初始化才能使用。
 
eg:
class Person {
    
    String name; //成员变量

    public void eat(){
        int age ;

        age = 12;
        for(int i =  0 ; i< 5 ; i++){
            System.out.println("hello world"+ age);
        }
    }

}

class Demo2
{
    public static void main(String[] args) 
    {
        Person p1 =  new Person();
        p1.eat();

    }
}

猜你喜欢

转载自www.cnblogs.com/seduce-bug/p/9335170.html