JavaSE第四章——面向对象(上)

JavaSE第四章——面向对象(上)


面向过程的设计思想

1、分析出解决问题所需要的步骤,然后把步骤一步一步实现。

2、面向过程直接关注流程。

举个列子:

			煮甜玉米:第一步给打开锅盖

​ 第二步把甜玉米放进锅里

​ 第三步烧火,把玉米煮熟咯

​ 第四步把甜玉米捞出来

面向对象的设计思想:首先宏观的对整个

1、以分类的方式进行思考和解决问题。

2、面向对象先对整体关系做出分类,然后根据不同的类深入细节的处理。

3、面向对象的思想符合人类的认知习惯。


举个例子:

​				做饭——做面食,米饭

人

​      人做饭()

面向过程和面向对象是相辅相成的,面向过程是具体实现。

先有对象,后有类。

对象—指的是一个具体的存在。

java类

什么是类?

类是一个模板,它是描述一类事物的属性和行为的集合。

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

类的结构

​ 成员变量:事物属性的描述;

​ 方法:事物的行为;

​ 构造方法:用于创建对象;

​ 内部类:在类体中声明的类。

​ 块:一段没有名称的代码。

Java类的定义

第一步:发现类

类的声明格式为:

​ [访问权限修饰符] [修饰符] class Car{

​ }

访问权限修饰符有两种:public,默认(不写访问权限修饰符)

修饰符:final,abstract

关键字class用来定义一个类

Java关键字的命名规范:

​ 类名中首字母大写,见名知意,驼峰表示。

第二步:发现类的共有属性(成员变量)

public class Car{

//成员变量定义

String name; //名称

String color;// 颜色

float price;//价格

}

声明成员变量的格式为:

[访问权限修饰符] [修饰符] 变量名 [=defaultValue默认值]

第三步:发现类的方法

方法声明格式为:

方法名首字母小写

[访问权限修饰符] [修饰符] void start(){

System.out.println(“汽车启动”);

[return 返回值;]

}

}

Java对象

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

对象的创建和使用

/**
 * @author 辉欲静,而风止。
 * 对象的创建和使用
 */
public class SetObject {
 
    public static void main(String[] args) {
        SetObject s = new SetObject();
        /*
        SetObject s :使用SetObject类作为类型声明一个变量s
        new SetObject():使用new+setObject类构造方法创建对象。
        = 将右边创建的对象地址赋给嘴边的s变量
        使用s变量访问对象中的成员变量和成员方法
         */
        
    }
}

同一类的每个对象有不同的成员变量存储空间。

同一个类的每个对象共享该类的方法。

类和对象

总结类和对象

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

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

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

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

变量分类

按照位置变量分为:

成员变量:

成员变量是定义在类中,方法之外的变量。

成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)

在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。

成员变量在创建对象的时候会从类中复制一份到对象中。

成员变量可以被类中的方法、构造方法和特定类的语句块访问。

成员变量的作用范围为整个类体。

局部变量:

在方法、构造方法或者语句块中定义的变量称之为局部变量。

局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。

局部变量在使用前必须初始化赋值。

变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

构造方法又称构造器。构造器用于构造该类的实例,也就是对象

格式如下:[修饰符] 类名(形参列表){

//n条语句

}

构造方法是一种特殊的方法,与一般的方法区别:

1、构造方法的名字必须与定义它的类名完全相同,没有任何返回类型,甚至连void也没有。

public class SetObject {

    public SetObject(){
        System.out.println("这里是构造方法");
    }
    public void SetOject(){
        System.out.println("这里是一般方法");
    }
    public static void main(String[] args) {
        SetObject s = new SetObject();

    }
}

运行结果:

这里是构造方法

2、构造方法的调用是在创建一个对象时使用new操作进行的。构造方法不能被子类继承。

3、不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。

构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样构造方法可以进行任何活动,但是经常将它设计为进行各种初始化活动,比如初始化对象的属性。

在Java中,任何变量在使用前都必须先设置初值。

构造方法(constructor)它的特殊性反映在如下几个方面:

(1)构造方法名与类名相同.

(2)构造方法不返回任何值,也没有返回类型.

(3)每个类可以有零个或多个构造方法.

例:public class Car{

public Car(){}

public Car(String name){//这个构造方法有一个参数:name}

}

例:

创建Car类对象

Car c1 = new Car();

Car c2 = new Car("宝马")

(4)构造方法在创建对象时自动执行,一般不能显式地直接调用.

方法分类

成员方法:成员方法时定义在类中。

语法格式:修饰符 返回值类型 方法名(参数列表){

方法体语句;

[return 返回值]

}

构造方法:用来初始化对象的方法

(这里不再赘述)

方法的重载

方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。

参数不同(可以有三方面不同)

​ 数量不同

​ 类型不同

​ 顺序不同

调用时,会根据不同的参数选择对应的方法。

注意:方法重载跟方法的返回值类型没有任何关系

调用.

方法分类

成员方法:成员方法时定义在类中。

语法格式:修饰符 返回值类型 方法名(参数列表){

方法体语句;

[return 返回值]

}

构造方法:用来初始化对象的方法

(这里不再赘述)

方法的重载

方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。

参数不同(可以有三方面不同)

​ 数量不同

​ 类型不同

​ 顺序不同

调用时,会根据不同的参数选择对应的方法。

注意:方法重载跟方法的返回值类型没有任何关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值