拉钩教育JAVA学习笔记-2.1 类和对象


将现实生活中对象的共性进行提炼,产生 ,而类是一个抽象的定义,不会产生实际的行为,想要产生行为,需要创建 对象,对象创建完毕,为了方便查找对象,需要 引用来记录对象的地址。

面向对象

万物皆对象
面向对象:分析现实生活中对象的属性跟行为的一种思维方式
对象:现实生活中客观存在的实体,java中即为在内存(堆区域)中的一块存储区域

对象的创建

new 类名();
  • 创建的过程,即为类的实例化的过程,使用new关键字。

引用的定义

概述

即分类,对某一类对象的共性特征、行为的汇总描述。是用于构建对象的模板,对象的数据结构由定义它的类来决定。
在Java中体现为一种引用数据类型:

  1. 成员变量:记录对象特征、属性
  2. 成员方法:记录对象行为

类的语法

class 类名{
	类体;
}

编程规范:

  • 类名由多个单词组成时,每个单词首字母大写。
  • 成员变量名由多个单词组成时,从第二个单词开始,每个单词首字母大写

成员变量

一般只声明,不赋初始值

成员方法

class 类名{
	返回值类型 成员方法名(形参列表){
		成员方法体;
	}
}

返回值:如果方法有返回值,则用return关键字返回相关信息;如果没有返回值,用void关键字声明成员方法。return关键字代表方法的结束,如果在return关键字之后还有代码,是执行不到的。
形参:运行成员方法时,传入的参数,语法为 (数据类型 形参变量名1,数据类型 形参变量名2,…) ,如果不需要传入参数,括号内什么也不写

传参
  • 基本数据类型作为方法的参数传递时,形参变量数值的改变,不会影响到实参变量的数值,因为两个变量有各自独立的内存空间
  • 引用数据类型作为方法的参数传递时,形参变量指向内容的改变,会影响到实参变量指向内容的数值,因为两个变量指向同一块内存空间
public class Test{
	//基本数据类型改变形参
	void show1(int b){
		b = 2;
		System.out.println("show1方法中b值为:" + b);
	}
	//引用数据类型改变形参指向内容
	void show2(int[] arr){
		arr[0] = 10;
		System.out.println("show2方法中arr[0] 值为:" + arr[0]);
	}
	public static void main(String[] args){
		Test t = new Test();
		int i = 1;
		t.show1(i);  //show1方法中改变形参,i的值仍为1
		System.out.println("调用完show1方法后,mian方法中i值为:" + i);
		int[] arr = new int[]{1,2};
		t.show2(arr);  //show2方法中改变形参指向内容,arr[0]的值变为10
		System.out.println("调用完show2方法后,mian方法中arr[0]值为:" + arr[0]);
	}
}
//执行结果
>java Test
show1方法中b值为:2
调用完show1方法后,mian方法中i值为:1
show2方法中arr[0] 值为:10
调用完show2方法后,mian方法中arr[0]值为:10
可变长参数

语法:返回值类型 方法名(参数的类型… 参数名)

//可变长参数,可以理解为一维数组
void showArgs(String... s){
	for(int i = 0; i < s.length; i++){
		System.out.println("第" + (i + 1) + "个参数是:" + s[i]);
	}
}

参数中,指定类型的参数个数可以改变,即0-n个
一个方法的形参列表中,最多只能声明一个可变长形参,并且需要放到参数列表的末尾。

栈帧

栈中存放所有局部变量,每个栈帧对应每个被调用的方法,栈帧中存放了该方法的参数,局部变量等信息,当某个方法调用结束后,相应栈帧将被清除。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值