OOP面向对象是什么


一、概念

1.面向过程和面向对象的区别

---面向过程:是一种执行者思维,事物比较简单
---面向对象:是一种设计者思维,事物比较复杂
---面向对象和面向过程二者相辅相成,并不是对立的。

2.类和对象的概念

---类:一种抽象的概念,客观不存在的,例如:各种摸具,月饼模具
---对象:一切客观存在的事物,比如从模具里出来的,月饼

类和对象

二、定义

1.定义类和创建对象

//定义类,public class 类名{...}
public class Person{
	String name;
	public void run(){
		System.out.println(name+"跑!");
	}
}

//创建对象
Person person = new Person();

//操作对象中的属性
person.name = "张三";

//操作对象中的方法
person.run();

内存图:
对象内存图
默认值表:
默认值表

2.局部对象和成员变量

|---------------------|---------成员变量----------|------------局部变量--------------|
|–代码中的位置–|-----类中定义的变量-----|----方法或代码块中的变量—|
|–内存中的位置–|------------堆内存----------|--------------栈内存--------------|
|–是否有默认值–|---------有默认值----------|------------无默认值-------------|
|-----作用范围-----|------当前类的方法------|-----当前方法或代码块中-----|
|-----生存时间-----|–对象创建开始到结束–|--方法/代码块执行开始到结束-|

三、构造方法及其重载

//声明格式:
//	1.方法名必须和类名一致
//	2.通过new调用
//	3.方法有返回值(肯定是本类),但是不能定义,不能使用return
//	4可以重载
[修饰符]	类名(形参列表){
	//n条语句
}

四、方法调用

1.基本数据类型和引用数据类型的方法

//基本数据类型
public class TestA {
    public static void main(String[] args) {
        int num=100;
        change(num); //num值未发生改变,基本数据类型是值传递
        System.out.println(num);
    }
    public static void change(int n){
        n=10;
    }
}

//引用数据类型
public class TestB {
    public static void main(String[] args) {
        int[] num = {100,200};
        change(num); //num[0]值变为200,引用数据类型是引用地址传递,本质上也是值传递
        System.out.println(num);
    }
    public static void change(int[] n){
        n[0]=200;
    }
}

2.this关键字

---构造方法中:this表示当前对象
---this用法:
---	1.调用当前类的成员变量,如果成员变量和局部变量重名,必须写区分
---	2.调用成员方法
---	3.调用构造方法,只能用在构造方法中,必须位于第一句
---	4.rhis不能用在static方法中 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值