JavaSE基础语法-面向对象1

JavaSE基础语法-面向对象1

第三章 面向对象

1.面向过程和面向对象

面向过程(procedure oriented programming,POP):分析出解决问题所需要的步骤,然后把步骤一步一步的实现,面向过程直接关注流程。

例如:往冰箱装大象问题.分成三步

1.打开冰箱

2.装入大象

3.关上冰箱

面向对象:(object oriented programming ,OOP):以分类的方式进行思考和解决问题,面向对象先对整体关系作出分类,然后根据不同的类深入细节的处理,面向对象的思想符合人类的认识习惯。更注重宏观、

整体上的设计。

例如:往冰箱装大象问题

先设计两个类

1.冰箱类(包含门类)

门类(包含两个方法,开门和关门)

2.人类(包含操作方法)

3.大象类(进入冰箱的功能)
三个类之间相互调用彼此的功能共同处理问题

:面向过程更适合处理简单的问题,直接关注流程,简单有效。

​ 面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系做出分类,然后,根据不同的类深入细节的处理。

​ 面向对象无法取代面向过程,它们是相辅相成的。面向对象关注于从宏观上把握事情之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维。

2.Java类

什么是类?

类是一个模板,它描述一类对象(事物)的属性和行为。

类是表示一个客观世界某类世界类群体的一些基本特征抽象。

类=汽车设计图;对象=实实在在的汽车。

类里面定义事物特征汽车设计图Java.文件。

对象是具体存在==具体的是某一辆车(实际存在,可以使用)。

类的结构

成员变量:对象属性的描述

方法:对象的行为;(可以做的事情)

构造方法:用于创建对象

内部类:即在类体中声明的类

块:代码块

类的定义

第一步:方法类;

类的声明格式为:[访问权限修饰符] [修饰符] class Car{}

访问修饰符有两种public和default

修饰符:final和abstract

关键字class用于定义一个类

Java类名的命名规范:类名首字母大写,见名知意。

第二步:发现类的公共属性;

public  class   Car{ 
    //成员变量定义
    String name; //名称
    String color; // 颜色
    float  price;//价格
}
声明成员变量的格式为: 
[访问权限修饰符] [修饰符]  type   attr_name [=defaultValue] ;

第三步:声明类的方法:

public  class Car{ 
    //成员变量定义
    String name; //名称
    String color; // 颜色
    float  price;//价格
方法声明格式为:
 [访问权限修饰符] [修饰符]/ void  start(){
	System.out.println("汽车启动");
               [return   返回值;]
     }
}

3.Java对象

对象:对象是类的一个实例,是以类为模板在内存中创建的实际存在的实例。

汽车图纸,对象实际存在的一辆汽车,拥有类中定义的功能,可以被使用

4.对象的创建和使用:

Car x1=new Car();

new关键字+默认构造方法();在内存中创建一个对象,但不能使用,需要在左侧以类为模板声明一个变量指向内存空间具体的对象,使用变量访问对象中的属性、方法。

注:通过类可以创建无数个对象。

5.类和对象

类是一类事物的抽象概念,是一个模型。

对象是由这个模型所创造的一个一个的具体存在的,是实实在在的实例。

所以创建对象的过程也叫实例化。对象==实例。

实现生活先有对象有类,而编程先设计类后创建对象。

6.变量分类

成员变量:

1.定义在类中,方法体之外。

2.数据类型为基本类型和引用类型。

3.变量可以不赋值,Java自动赋值。

4.在创建对象时会从类体中复制一份到对象中。

局部变量:

1.在方法、构造方法、语句块定义的变量。

2.数据类型为基本类型和引用类型。

3.在使用前必须赋初值。

4.变量声明、初始化都在方法中,方法结束后,变量自动销毁。

5.方法的参数也是局部变量,在调用时,会为其赋值。

类变量:(也叫静态变量)类变量也声明在类中,方法体之外,但必须声明为static类型。

7.方法分类

一个类可以包含以下类型方法:

**成语方法:**成员方法是定义在类中,这种方法在创建对象时创建。

语法格式:

[修饰符]返回值类型 方法名(参数列表){
    方法体语句;
        [return 返回值;]
    //当返回值类型为void时,return可有可无
}

构造方法:

1.是定义在Java中的一个创建对象的方法

2.方法名与类名相同,没有返回值,不需要void修饰。

3.一个类中可以拥有多个构造方法。(方法重载)

4.如果类中没有显示的声明构造方法,类中会默认有一个无参的构造方法。

5.一旦类中定义了有参的,默认无参的构造方法会被覆盖。

[访问权限修饰符] 类名(参数列表){
    方法体语句;
}

类方法:(也叫静态方法)类方法也声明在类中,但必须声明为static类型。

方法重载:

什么情况构成方法重载:在一个类中有多个方法名相同,且参数不同的方法。

参数不同:类型不同,个数不同,顺序不同。

重载的作用:可以处理功能相同,但是参数类型不同的一类问题。

**注:**成员方法和构造方法都可以重载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值