20200516 方法 类和对象

2020/05/16 方法 类和对象

类和对象的关系

是相关属性行为的集合,是对一类事物的描述

对象是一类事物的实例,是具体的

类是对象的模板,对象是类的实例

对象创建

1.导包

import 包名称.类名称

如果使用的类在同一个包下,可以不用导包

2.创建

new 类名称() -> 创建新对象

类名称 对象名 = new 类名称();-> 对象名这个引用指向新建的对象

3.使用

对象名.成员变量名

对象名.成员方法名(参数)

若成员变量没有赋值,那么将会有一个默认值,规则和数组一样

注意:一个.java文件可以有很多类,但是public权限只能有一个,且.java的文件名必须是public类的类名!!!

对象的内存图

成员方法在堆中存放的为地址值,具体方法在方法区中

成员变量的值直接存放在堆中

运行程序时,方法入栈执行程序

理解:方法区存放设计图,堆中存放原材料,栈为工作台

一个对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-epyaLHEa-1589642839228)(C:\Users\10145\AppData\Roaming\Typora\typora-user-images\image-20200516160131222.png)]

两个对象使用同一个方法的内存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HB1d2iwZ-1589642839230)(C:\Users\10145\AppData\Roaming\Typora\typora-user-images\image-20200516161054576.png)]

类和对象的引用

多个引用,一个对象

类名称 新对象名 = 引用对象名 将引用对象名的地址赋给新对象

对象就像 “房产”, 引用就像"房产证"
房产证的复印件可以有多张,但是真正的"房产" 只有这么一处

一个对象,多个引用

一个引用同时只能指向一个对象,如果引用指向新的对象,那么原对象将没有任何手段控制,没意义。

继承

class 新类 extends 继承类{};

新类也具备了继承类的属性

注意事项:写继承的时候发现

一个项目只能有一个main方法 作为程序入口

构造方法

构造方法和类名一样,无返回类型,实例化对象时必然调用构造方法

通过一个类创建一个对象,这个过程叫做实例化

笔试题目隐式构造方法:如果没有为一个类编写构造方法,则系统会为该类提供一个默认的且无参的构造方法。

构造方法和方法一样也可以重载。

构造方法作用:1.构造出一个类的实例

​ 2.对构造出来的一个类的实例初始化

this的用法

this指的是当前对象

this关键字总是指向调用该方法的对象

在方法中想要调用对象的变量,但是和自身方法中变量重名(如要正常原本需要使用其他变量名),但this.变量可以代表调用对象的变量

this调用其他构造方法:如果要在一个调用方法中,调用另一个构造方法(重构),可以使用this(变量,…)

使用时错误写法name = this.name 实为 this.name = name

​ 在构造方法中调用另一个构造方法this(变量,变量,…),而非一个变量一个变量地this();

this.name实为this.name = name`

​ 在构造方法中调用另一个构造方法this(变量,变量,…),而非一个变量一个变量地this();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值