Java面向对象之类与对象

面向对象概述

面向对象是分模块的,比如厨师烧菜这件事情,可以把厨师,菜,厨房当成对象,做这件事情的时候调用这几个对象能完成这个事情,而不关心每个对象具体是怎么实现的。优势,易扩展,易维护,灵活性高,代码(程序)耦合度低,性能相较于面向过程低。

面向对象与面向过程

面向过程类似于事情该怎么做,把一件事情分成几个步骤,每个步骤对应写一个方法,按顺序调用方法来完成一件事情。

面向对象类似于事情该交给谁去做,这个谁就是对象,对象怎么做是对象的事情,反正几个对象可最后可以完成这件事情就行。只关心调用谁,不关心其具体怎么实现。


1. 类与对象

1.1 概述

类是一类事物客观描述的标准。一类对象的抽象

对象是一个具体的符合类标准的个体,一切皆对象。一个具体的实体

通过不同属性划分不同类,通过不同属性值划分不同对象。

1.2 构造方法

声明:权限修饰符 构造方法名(参数列表){}

构造方法没有返回值,也没有void,构造方法名必须与类型相同

可用于对象被创建时的调用,然后创建该类的对象,对属性进行初始化,如果没有写构造方法,则编译器会自动帮我们生成一个无参的构造方法,如果写了一个有参的构造方法,则需要手动写一个无参的构造方法,因为这种情况下编译器不会自动生成无参构造方法。

1.3 对象使用

	//创建对象
	GouZao suiBian=new GouZao();
	//属性赋值
	suiBian.age=23;
	//调用成员方法
	suiBian.s();
	//调用静态方法
	GouZao.getAge();

1.4  bean

JavaBean:公共的类,无参构造,获取属性的方法(getter-获取和setter-修改方法)私有化的属性,这样写,易维护,比如后期如果要修改属性名,不用一个一个去相应地方修改,直接在类里面改一下就行,这样写还可以设置属性值的取值规范。

1.5 实例化

实例化就是创建一个类的对象

GouZao suiBian=new GouZao();

new关键字会在堆中开辟一个内存空间,存放对象属性,然后调用构造方法对属性进行初始化,构造方法执行完毕之后弹栈,并把内存地址返回给调用处,也就是赋值给suiBian这个变量。变量用来存储数据。

1.6 异常

常见异常有空指针异常,下面代码则会发生空指针异常,因为没有初始化User。

	User user=null;
	System.out.print(user.getAge());

1.7 调用

类名.方法名();当前类中可以忽略类名。

静态方法中不能调用非静态方法和属性,

对象名.静态方法名() 在编译时,会自动把对象名替换成相应的类名再去调用

传值和传引用同数组。

this 就是当前对象,谁调用这个方法,this就是谁。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值