java基础——构造方法

构造方法

  在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的 成员变量赋初值的专门功能: 构造方法(constructor)构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:
  1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
  2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
  3.每个类可以有零个或多个构造方法.
  4.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
  5.构造方法在创建对象时自动执行,一般不能显式地直接调用.
  构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。
  具体使用:分别计算长、宽为20、10和6、3的两个长方形的面积。 

class RectConstructor{  
	
	double length;  
	double width;  
	
	double area(){  
		return length*width;  
	}  
	
	RectConstructor(double width,double length){//带参数的构造方法  
		this.length=length;  
		this.width=width;  
	}  
}  

public class RectDemo{  
	
	public static void main(String args[]) {  
		
		RectConstructor rect1=new RectConstructor(10,20);  
		RectConstructor rect2=new RectConstructor(3,6);  
		
		double ar;  
		
		ar=rect1.area();  
		System.out.println("第一个长方形的面积是"+ar);  
		ar=rect2.area();  
		System.out.println("第二个长方形的面积是"+ar);  
		
	}  
} 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,由于浮点数的精度问题,可能会出现无限循环小数。对于这种情况,可以使用BigDecimal类来处理。 BigDecimal类可以表示任意精度的十进制数,它可以处理大于64位的整数和小数。在使用BigDecimal类时,需要注意以下几点: 1. 使用BigDecimal类时,应该使用其构造方法来初始化BigDecimal对象,而不是使用double类型的值来初始化。 例如: ``` BigDecimal bd = new BigDecimal("0.1"); ``` 2. 在进行浮点数运算时,应该使用BigDecimal类提供的方法,而不是使用double类型的运算符。 例如: ``` BigDecimal a = new BigDecimal("0.1"); BigDecimal b = new BigDecimal("0.2"); BigDecimal c = a.add(b); ``` 3. 在比较两个BigDecimal对象的值时,应该使用compareTo()方法,而不是使用等于(==)或不等于(!=)运算符。 例如: ``` BigDecimal a = new BigDecimal("0.1"); BigDecimal b = new BigDecimal("0.2"); if (a.compareTo(b) < 0) { System.out.println("a < b"); } else if (a.compareTo(b) > 0) { System.out.println("a > b"); } else { System.out.println("a = b"); } ``` 关于java无限循环小数判定问题,可以通过以下代码来解决: ``` public static boolean isRepeatingDecimal(BigDecimal num) { BigDecimal[] arr = num.divideAndRemainder(BigDecimal.ONE); BigDecimal decimalPart = arr[1]; String decimalStr = decimalPart.toString().substring(2); // 去掉小数点和整数部分 if (decimalStr.length() < 2) { return false; // 小数部分长度小于2,不可能循环 } int halfLength = decimalStr.length() / 2; for (int i = 1; i <= halfLength; i++) { String str = decimalStr.substring(0, i); if (decimalStr.matches("^(" + str + ")+(.*)" + str + "$")) { return true; // 存在循环节 } } return false; // 不存在循环节 } ``` 该方法接收一个BigDecimal对象,判断其是否为无限循环小数,返回true或false。 以上是关于Java中处理无限循环小数的基础知识和方法介绍,希望能对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值