JAVA基础

文章介绍了JAVA中的构造方法,包括无参数和带参数的构造方法的使用,并展示了如何通过构造方法初始化对象属性。此外,还讲解了Java中的引用传递概念,以实体类Circle为例,说明了在方法调用中基本类型参数和对象类型参数的区别:基本类型是值传递,而对象类型是引用传递,因此对对象参数的修改会影响到原始对象的值。
摘要由CSDN通过智能技术生成

JAVA基础

构造方法

方法头标识
方法头标识由 方法名+参数表,共同组成的整体,用来唯一标识调用方法。
方法重载


//本实例,构造两个构造方法,分别是无参和传半径的,两个构造方法头。
package test;

public class Circle {
	public String  name;     ///名称
	double radius;         //radius
	
	public Circle() {      //与类名相同,无参数构造
		this.name="椭圆,无参数";	
		this.radius=5;
		System.out.println("构造初始化半径"+radius);
	}
	
	public Circle(String name,double r) {	//传参构造	
		this.name=name;
		this.radius=r;
	}
	
	public  void getArea() {   //方法
		double area=Math.PI*this.radius*this.radius;
		System.out.println("半径为"+radius+"  面积:"+area);		
	}

	

}

调用举例

package test;

public class Test {

	public static void main(String[] args) {
		double r1=5;
		
		Circle c= new Circle();		//无参调用,半径为5
		System.out.println("c的半径初始值:"+c.radius);		

		Circle c1=new Circle(100);
		System.out.println("调用后值:"+c1.radius);

	}

	
}

输出结果

构造初始化半径5.0
c的半径初始值:5.0
有参数调用,半径参数100.0
r1调用后值:100.0

引用传递

定义方法时,形参的数据类型是基本类型,调用方法时,是简单值传递,调用方法体重新开辟了临时的接收内存变量空间,不影响原有参数值的变化。

定义方法时,形参是引用传参(对象类型),调用方法时,实参到形参的传递是引用传递,传递的是对象的地址,场景举例,大家共同操作的在线协同表格,实参是表格地址,形参操作对象是 实参穿过来地址对应的表单,所以改动会影响原有对象值。

实体圆类

//实体类
package test;

public class Circle {
	public String  name;     ///名称
	double radius;         //radius
	
	public Circle() {      //与类名相同,无参数构造
		this.name="椭圆,无参数";	
		this.radius=5;
		System.out.println("构造初始化半径"+radius);
	}
	
	public Circle(String name,double r) {	//传参构造	
		this.name=name;
		this.radius=r;
	}
	
	public  void getArea() {   //方法
		double area=Math.PI*this.radius*this.radius;
		System.out.println("半径为"+radius+"  面积:"+area);		
	}
	
	public  void getName() {   //方法
		System.out.println(name);		
	}

}

调用举例

//Test运行类
package test;

public class Test {

	public static void main(String[] args) {
		double r1=5;
		System.out.println("r1初始值:"+r1);		
		printArea(r1);		//调用方法,传参
		System.out.println("r1调用后值:"+r1);
		
		Circle c=new Circle();
		System.out.println("调用前半径:"+c.radius);  //半径值,由构造方法初始化
		printArea(c,10); //调用方法,传参
		
		System.out.println("调用后半径:"+c.radius);
		
		
		Test t=new Test();
		t.testname();
		
	}

	//如果要在当前类调用,不进行实例化调用,直接加static
	public static void printArea(double r) {
		double area;
		r=2*r;        //实参是基本类型,形参会在方法体内创建临时副本空间,不影响实参
		area=Math.PI*r*r;
		System.out.println(area);
		
	}
	
	
	public static void printArea(Circle d,double r) {
		System.out.println("传参半径"+r);	
		d.radius=r;   //把地址对应的内存值改变了,举例类似 在线协同表单
		d.getArea();	
		
	}
	
	public void testname() {
		System.out.println("1111111");
	}
	
	
}

输出结果

r1初始值:5.0
314.1592653589793
r1调用后值:5.0
构造初始化半径5.0
调用前半径:5.0
传参半径10.0
半径为10.0  面积:314.1592653589793
调用后半径:10.0
1111111
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值