对象的行为

1.方法调用栈

举例:

public class Test2 {
		public static void main(String[] args) {
				int x = 1;
				int []y = {1};
				Test2 t2 = new Test2();
				t2.add(x,y);
				System.out.println(x);
				System.out.println(y[0]);
		}
		public void add(int x,int [] y){
				x = x + 1;
				this.add1(y);
		}
		public void add1(int [] y){
				y[0] = y[0] + 1;
		}
}

进入main()方法 定义x,y 实例化对象

进入main()方法 定义x,y 实例化对象

调用t2.add() 方法 传入x,y调用t2.add() 方法 传入x,y

执行add中的代码 x = x+1执行add中的代码 x = x+1

调用add1()方法 并传入y调用add1()方法 并传入y

执行add2()中的代码执行add2()中的代码

add1() 执行完成 退出栈add1() 执行完成 退出栈

add()执行完成退出栈add()执行完成退出栈

然后运行打印
main()方法运行结束退出栈main()方法运行结束退出栈

2.调用方法

当一个方法正在执行的时候,可能发生三件事情
1.方法返回一个值
2.方法不返回值
3.方法抛出一个异常
注意:没有声明为静态方法(static修饰的)只能在对象实例化后才能使用。

3.方法的标签

方法的创建格式:

访问修饰符  返回类型  方法名字(参数列表){}

访问修饰符: public protected 默认(什么都不写) private
四种修饰符的区别
返回类型:基本数据类型和引用数据类型都可以
方法名字:遵循小驼峰

参数:

形式参数:一个方法中包含一个形式参数的列表 用于声明传递到方法中的数据的类型
实际参数:调用方法时传递给方法中形式参数的数据称为实际参数 用于传递给方法具体的数值

在传递的过程中 基本数据类型是拷贝一份,而引用数据类型是拷贝一份引用地址

4.方法的重载

定义: 在类中 方法名字一样而方法的参数类型、参数个数、参数顺序不同;
注意:方法重载只和方法的参数有关,和返回值类型无关;

5.构造器

作用:当对象通过new 关键字实例化时,JVM为对象分配内存,并初始化,以保证对象的数据有意义;
规则:
1.构造器的名字和类名相同
2.没有返回类型
分类: 无参构造 和 有参构造

无参构造:

在每一个类都会拥有一个默认的构造器,方便用户进行对象的初始化
默认构造器不包含任何语句 默认构造器中没有任何的参数,也不做任何事情

也可以手动写出来

public Test(){}

有参构造:

自定义一个构造器,可以添加参数,自定义初始化数据

一旦自定义构造器 将不会产生默认构造器了

public Test(int c){
	this.c  = c;
}

在构造器中this的使用

this. 代表对象的

public Test(int c){
	this.c  = c;
}

this() 代表构造器

public Test(){
		this(4,10);
		System.out.println("在无参构造中");
}
public Test(int c){
		this(c,10);
		System.out.println("在有一个参数的构造器中");
}
public Test(int c,int v){
		System.out.println("在有两个参数的构造器中");
		this.c = c;
		this.v = v;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值