java-----面向对象与面向过程,构造器和this关键字

面向对象与面向过程

  面向对象和面向过程都是一种思想,一种思维方式,概括的讲,在做某件事情的时候,面向对象是一种宏观的思维,比如爸爸叫你做饭,他只是告诉你6点之前做好饭,不会告诉你细节;面向过程是一种微观思维,就比如妈妈叫你做饭,她会告诉你用电饭煲,加入几盒米,然后加水…,告诉你非常详细的过程。
  面向过程的优点:
  1)更贴合于现实生活。
  2)面向过程更贴合于管理者,面向过程更贴合于执行者。
  3)可以使复杂的问题简单化。
如何使用面向对象的思维方式进行编程
  提供了两个概念实现面向对象编程: 类和对象。
  类:自定义的类,一些列事物的模板,一系列事物抽象出来的共性,把这些共性定义为自定义类|模板类。
  对象:现实生活中真实存在的事物,构建需要根据对象的图纸|模板类构建对象。
自定义类
例如定义手机模板类:
  1)手机有什么特征|特性|属性:颜色,尺寸,品牌…
  属性–名词—成员变量
  2)手机能做什么?打电话,上网,玩游戏…
  功能–动词—成员方法 --不加static的方法
public class 类名{
  //成员变量
  修饰符 数据类型 变量名 =赋值;
  //成员方法
  public 返回值类型|void 方法名(参数列表){
  …
  }
}
手机测试类的应用:
  1.导包 (1.java.lang包下的类不需要导包 2)同包下的类不需要导包)
  2.创建类型的变量
  3.根据变量使用功能
    变量.功能名字();
    变量.属性名字;

构造器constructor

构造器|构造函数|构造方法

  • 构造器:
    构造器是一种特殊的方法,作用就是用来为对象初始化对象信息,不是用来创建对象。构造器没有返回值,不需要void,可以写return但是不必要

  • 定义:
    修饰符 类名([参数列表]){

    }

  • 使用:
    只能跟随new一起使用,没有办法调用,构造器不能和static,fianl,abstract一起使用。

  • 如果没有自定义构造器,编译器会自动为你添加一个空构造。

  • 如果存在自定义构造器,编译器都不会在为你提供任何构造器。

  • 构造器也是方法,可以构造器的重载,根据创建对象后面的()–>构造器的参数列表。

  • 以后定义自定义模板类,最好至少提供一个构造。

new做3件事情:

  • 1.堆中开辟空间,成员属性跟随对象进入堆内存并赋默认值。
  • 2.调用构造器为对象初始化信息。
  • 3.将地址返回给引用。

this关键字

this指代当前对象(new的对象),代表对象的地址。

  1. 调用本类中的其他构造器,this([参数列表]);
    注意:要求再构造器的首行使用this调用其他构造器。
       两个构造器不能相互调用,会造成死循环。
  2. 区分同名变量问题。
      区分成员变量和局部变量之间同名的问题。
    注意:构造器中区分成员变量和参数之间同名问题,默认就近原则,如果调用成员,this.属性名,因为this中存放的是当前调用构造器的对象的地址,所以就可以调用成员变量。
  • this再成员方法中指代当前调用成员方法的对象。
  • 如果不存同名变量问题,在使用成员变量的时候默认前面省略了this,this可以省略。

猜你喜欢

转载自blog.csdn.net/qq_41899248/article/details/90721621