面向对象复习(1)

面向对象(1)

面向过程:关注具体流程,一步一步解决问题

把大象装进冰箱

3步实现

1.开门();

2.把大象装进去();

3.关门();

面向对象:先设计 对现实中客观事物进行分类 创建类(在类中定义方法) 创建对象 让对象去做具体的事情

冰箱类{

开门方法();

关门方法();

装大象();

}

大象类{

}

类是对现实事物的抽象

类是对现实事物的抽象

先有对象 后有类

人 人类(概念)

张三 人(具体的一个人)

类的结构

成员变量:类中事物的属性

方法:事物的行为 可以做的事

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

代码块:

内部类:

对象

具体存在的客观事物,可以拿来使用的,万事万物皆为对象

new Car(); new 在内存中创建对象, Car()构造方法(默认有一个构造方法,方法名与类名相同)

Car bm/bc; 声明一个Car类型的变量

= 将创建的对象赋给左边的变量

总结:类是一个模型 对现实事物的抽象 是一个模板 对象是从这个模型创建出的 是一个具体实例 创建对象的过程又叫实例化对象

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

同一个类每个成员变量可以共享该类的方法

成员变量

定义类的成员变量(属性):

定义在类中, 方法体之外

数据类型可以是java中支持的任意类型(引用类型,基本类型)

成员变量可以初始化 如果不初始化 java会默认使用其默认值

引用类型默认是null 整数-0 浮点-0.0 boolean-false char-' '

创建对象时,会从类中向对象中复制一份成员变量

在成员方法、构造方法、代码块中都可以使用成员变量

局部变量

定在方法、构造方法、代码块中

使用前必须赋值

数据类型可以是java中支持的任意类型

方法的参数也是局部变量

成员方法

定义在类中 没有被static修饰 通过对象进行调用

构造方法

作用:用来初始化新创建的对象

特征:构造方法名与类名相同 没有返回值 且不用void修饰

每个类中都至少有一个构造方法 也可以定义多个 每创建一个对象时至少调用一个构造方法,如果类中无构造方法 默认调用无参构造 一旦定义有参构造方法 默认的失效

无参构造方法

在无参构造方法中为新建的对象默认初始化赋值

public Car(){
    System.out.println("Car类无参构造方法");
}

有参构造方法

定义有参构造方法 为新建对象赋初值

public Car(String n,float p,String c){
    System.out.println("有3个参数的构造方法");
        name = n;
        price = p;
        color = c;
}

方法重载

在同一个类中 有多个方法名相同 但是参数不同的方法

参数:个数 类型 顺序

方法重载与返回值无关

public Car(String n,float p,String c){
     System.out.println("有3个参数的构造方法");
         name = n;
         price = p;
         color = c;
 }
​
public Car(String n,String c,float p){
    System.out.println("有3个参数的构造方法String n,String float");
}
​
public Car(String n,float p){
    System.out.println("有2个参数的构造方法");
    name = n;
    price = p;
}

成员方法也可以重载

public void test(){}
​
public void test(int a){}
​
public void max(int a,int b){
    System.out.println("int a,int b");
}
public void max(float a,float b){
    System.out.println("int a,int b");
}
public void test(int a,float b){
    System.out.println("int a,float b");
}

对程序有什么帮助?

使我们的功能更加丰富,同一个方法可以进行多个功能的实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重开之Java程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值