黑马程序员——面向对象

来源:互联网 发布:淘宝改高价 编辑:程序博客网 时间:2024/06/06 08:49

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一、过程与对象

C语言就是典型的面向过程,当要完成一件事时,按照流程进行便是面向过程。比如将大象放进冰箱,我们需要做的过程,打开冰箱,把大象放进去,关闭冰箱。


而面向对象便是准备好一个冰箱,当大象出现的时候,冰箱自动完成一系列操作。我们需要做的只是设置好冰箱就行了。


java是一种完全面向对象的编程语言。面向对象的很重要的三个特征便是:封装(encapsulation),继承(inheritance),多态(polymorphism)。


二、类与对象


类的关键字是class,通过class可以创建一个类。

类中的内容有成员变量(属性),成员函数(方法、行为);

当类实例化之后,便称之为对象,一个类可以创建多个对象。


/**描述小汽车    1.属性:         轮胎数。         颜色。    2.行为        运行。*/ //对Car这类事物进行描述class Car{//成员变量    String color = "red" ;    int num = 4 ;    //成员方法    void show()    {        //临时变量        int num = 10;        //输出临时变量的值       System.out.println("color="+color+"...num="+num);       }}class CarDemo{  public static void main( String[] args )  {    //通过new关键字,建立对象    //c就是一个类类型的引用变量,指向了该类的对象
    Car c = new Car();    //对对象的属性进行修改    c.color = "black";    //输出成员变量的默认值    System.out.println(c.num);    //通过对象.成员的形式来使用对象的功能    c.show();  }
}

封装:封装是指将实现细节(过程)隐藏起来,只暴露一个接口在外部。通过暴露出来的接口我们便能使用类,但是类内部的具体实现我们却不知道。

三、构造函数

作用:给对象初始化;

             如果一个类中作者没有提供构造函数,那系统将提供一个默认构造函数。构造函数函数名为类名,其参数视情况而定,系统提供的默认构造函数参数为空。构造函数是        没有返回类型的(void也是一种返回类型)。

每个对象创建的时,都会自动调用构造函数,构造函数可以有多个,即构造函数可以重载。重载是指函数名相同,但参数类型与参数个数不同,与返回类型无关。

四、几个关键字

this:该关键字代表函数所在的对象的那个引用。

static:static是静态的意思,被static修饰的变量or成员函数被称为静态变量,静态成员函数。

static的特点:

        1、  随着类的加载而加载。也就是说:静态会随着类的消失而消失,它的生命周期最长。

        2、优先于对象存在。明确一点:静态是先存在。对象是后存在。

        3、被所有对象所共享。

        4、可以直接被类名所调用。

       由于静态成员可以直接被类名调用,因此静态成员变量又称为类变量。而非静态成员变量又被称为实例变量。

实例变量和类变量的区别:

        1、存放位置。

              类变量随着类的加载而存在于方法区中。

              实例变量随着对象的建立而存在于堆内存中。

        2、生命周期。

              类变量生命周期最长,随着类的消失而消失。

             实例变量生命周期随着对象的消失而消失。


            函数是否用静态修饰,就看该函数功能是否需要访问到对象中的特有数据。该功能是否需要访问非静态的成员变量,如果需要,该功能就是非静态的。如果不需要,就可     以将该功能定义成静态的。当然,也可以定义成非静态,但是非静态需要被对象调用。
            如果没有访问特有数据的方法,该对象的创建是没有意义。


0 0
原创粉丝点击