2021-09-04java笔记3

面向对象编程:
定义一个类:class person;
创建类的对象(类的实例化)
创建person类的对象:person p1 = new person()
调用对象的结构:属性,方法
调用属性:“对象.属性”
例:P1.name = “TOM”
如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性(非static)
意味着:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。
类中对象相等:将p1变量保存的对象地址值赋给p3,导致p1和p3指向了堆空间的同一个对象实体。
对象的创建与使用:内存解析:
在这里插入图片描述

堆(Heap),此内存区域的唯一目的 就是存放对象实例,几乎所有的对象 实例都在这里分配内存。

通常所说的栈(Stack),是指虚拟机 栈。虚拟机栈用于存储局部变量等。

方法区(Method Area),用于存储已 被虚拟机加载的类信息、常量、静态 变量、即时编译器编译后的代码等数

类中属性的使用:
属性(成员变量) 和局部变量的比较
1相同点:
1定义变量的格式:数据类型 变量名 = 变量值
2先声明,后使用
3变量都有其对应的作用域

2不同点:
1:类中声明的位置不同
属性:直接定义在类的一对{}内
局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
2关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符
常用的权限修饰符:private, public,缺省(指的是前面没有其余三个量称为缺省),protected
局部变量:不可以使用权限修饰符。
3.默认初始化值
属性:类的属性根据其类型,都有默认初始化值
整形(byte,short,int,long),初始值都为0
浮点型(float,double),默认值为0.0
字符型(char):0(或\u0000)
布尔型(boolean):false
引用数据类型(类,数组,接口):null;
局部变量:没有默认初始化值,意味着,在调用局部变量之前,一定要显式赋值。
特别的:形参调用时,需要自己赋值即可
4.内存中加载的位置:
属性:加载到堆空间(非static)
局部变量:加载到栈空间

例如:
Class user{
//属性(或成员变量)
String name;
Int age;
}


类中方法的声明和使用:
方法:类应该具有的功能
例如:Math类:sqrt()\ random()等
Scanner类:nextxxx()…
Arrays类:sort() \ binarySearch() \ toString() \ equals() \ …
方法的声明:权限修饰符 返回值类型 方法名(形参列表){
方法体
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值