java面向对象(一)

学java核心的一个部分就是面向对象,那么什么是面向对象呢?

一、面向对象的概念

说到面向对象不得不说的就是面向过程,面向过程就是一步一步的去完成某一件事情,就拿开车这样的一件事来说。

人开车,首先就要把车门打开上车

其次是,钥匙插上启动车子

最后就是开车。

这样的一个过程就是面向过程,同样的一件事,再拿面向对象的方法去分析

人开车,首先要找到的就是车这样一个对象,

汽车这个对象有着车门打开,启动,行驶这几个功能,

人在要使用汽车的时候,就是使用汽车的这几个功能。

从这样的一个例子看,面向对象的思考方式更符合于人的思考习惯,也从这样的一个例子中可以看出,面向过程中,人是执行者,他需要去执行开车门,启动车子,行驶车子这些动作,而面向对象则是去使用车子的功能,就好比是指挥者,相反,面向过程中人就是执行者。

基本概念了解完了以后就来说说代码的具体体现:

public class CarDemo {

    public static void main(String[] args) {
        Car car = new Car();  //实例化一个Car对象,定义一个Car类型的变量car去接收实例化的对象。
        car.start();   //汽车调用启动的方法
        car.run();     //汽车调用行驶的方法
    }

}
class Car{    
    public void start(){    //汽车启动的方法
        System.out.println("Car is Starting");
    }
    public void run(){     //汽车行驶的方法
        System.out.println("Car is running");
    }
}

上面用到了一个new关键字以及注释中的实例化,实例化是指将类具体到某一个东西,而实例化一个对象则是需要使用new关键字。

说一说类和对象:

类:是对某类事物的描述

对象:是某类事物的具体体现。


二、匿名对象:

匿名对象就是没有名称的对象。

对于匿名对象就使用代码来体现更为直观。

public class CarDemo1 {
	public static void main(String args[]){
		new Car().run();
	}
}
class Car{
	String name;//定义一个成员变量表示汽车的名称 
	public void run(){
		System.out.println("Car is running");
	}
}

 
   
 
   
以上这个例子就是一个使用匿名对象的例子,对以上代码进行变换,使用匿名对象作为参数传递:

public class CarDemo1 {
	public static void main(String args[]){
		show(new Car());
		
	}
	public static void show(Car car){
		System.out.println("show");
	}
}
class Car{
	String name;//定义一个成员变量表示汽车的名称 
	public void run(){
		System.out.println(" is running");
	}
}

匿名对象使用场景:当对象方法仅进行调用一次时,使用匿名对象。

匿名对象可以作为实际参数进行传递。

三、成员变量于局部变量的区别。

在类中,有两种成员,一个是成员变量,一个是成员方法。成员变量所代表的是类的属性,而成员方法代表的是类的行为。

    成员变量:凡是定义在类中的变量就叫做成员变量。

        成员变量是定义在类中的变量。这里我们就要与局部变量区分下:

              1、成员变量定义在类中,在整个类中都能访问,而局部变量定义在方法或者局部代码块中,只在所属的区域中有效;

              2、成员变量定义在堆内存的对象当中,局部变量定义在栈内存的方法中;

              3、成员变量随着对象的出现而出现,随着对象的消失而消失;

              4、成员变量因其在堆内存中,所以有默认的初始化值,而局部变量没有默认初始化值,必须要先初始化以后才能使用。

你可能感兴趣的:(java,面向对象)