Java面向对象|类与对象

面向对象在java中非常的重要,下面我们来一起了解一下面向对象吧


前言

之前学习java有点杂乱无章,很多笔记也没有整理好,所以这几天从面向对象开始往后深入学习一下,并做下笔记,也希望能帮助到刚入java的小伙伴。


一、什么是面向对象?

可以理解为我们用程序抽象的描述现实世界的事物。

二、面向对象基本组成

1.类和对象

1.1 什么是类?

类就是一类具有共同特征与行为的事物的集合

比如说动物类,每个动物都有一些相同的特征,比如都有腿,有头,比如都有相同的行为,可以跑。

1.2 什么是对象?

对象就是一个具体存在的个体,比如说老虎,狮子,他们就是一个具体的个体。

1.3 类与对象之间的关系

类是一种抽象的,概念的,它所代表的是一类事物的集合

而对象是具体的,存在的,它所代表的是一个具体的事物

类是对象的模板,就像上面提到过的动物类,对象是类的一个实例,比如老虎就是动物类的一个具体例子。

1.3.1 定义一个类

class animal{//动物类
    String name;//姓名
    String gender;//性别
}

1.3.2 创建一个对象

animal cat=new animal();

1.3.3 类与对象的内存分布

Java内存区域

:存放局部变量;

:手动申请的空间;

方法区:常量池,类加载信息。

类和对象在初始化时,首先先加载类的相关信息,然后给对象在堆中申请一个空间,栈中存放cat局部变量,变量中保存对象的引用地址。

1.4 对象的基本组成

1.4.1 属性

属性也就是事物本身的特征,小明身高180cm,小红身高160cm,那么身高就是一个特征。

  • 属性可以是基本数据类型,也可以是引用数据类型。
  • 在初始化时,属性会按照指定的数据类型的初始值来进行默认初始化。比如int类型,初始化默认值为0。

如上类中,所定义的name,gender就是一个属性。

1.4.2 方法

方法就是事物的行为,比如跑,跳就是一个行为。

public void run(){
    System.out.println("我可以跑");
}

1.4.3 为什么需要方法 ?

以洗衣机举例子,洗衣机的内部被外面的壳所包裹,我们无法看到内部的构造和细节,只给我们暴露了几个按钮,当我们想洗衣服时,只需要将衣服倒进洗衣桶,设定时间点击按钮就可以自动洗衣服,我们不需要关心到底它是怎么运行的,我们只需要等待衣服洗好,而且,洗衣机可以无限使用,只要有脏衣服,我就放进去洗,而不用说每用一次,这个洗衣机就不能用了,我就又换个洗衣机,它可以重复使用,变成一种很方便的工具。

这也是方法所存在的意义,我们只需要封装好指定的功能,供别人使用,而别人也不用关心内部如何实现,只用在合适的时候调用,就不必每次都去写重复的代码了。

1.4.4 方法内存分布机制

方法执行时,会单独的在栈中创建一个空间,因此每个方法中的变量都是独享的,等到方法全部执行完毕,就会释放栈空间,执行下一个方法。

1.4.5 方法传参机制

方法的参数可以是任意类型。方法的参数也叫形参,调用方法所传递的参数叫实参。

public void run(String name){

System.out.println(name+":跑");
}

如果方法的参数是基本类型,则传递的是值

如果方法的参数是引用类型,则传递的是地址

我们在方法中修改基本类型形参的值不会影响到实参的值

而如果修改引用类型形参的值则会影响到实参的值。因为实参将地址赋值给了形参,那么形参和实参共享一个地址,因此对于形参的修改会影响到实参。

public static void main(String[] args){
    animal cat;
    run(cat);
    System.out.println(cat.name);
}


public static void run(animal cat){
    cat=new animal();
    cat.name="小黄";//引用类型的形参会改变实参的值
}


class animal{

String name;
String age;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值