2021-01-16

类的封装与继承实例1

代码很简单,很容易实现。
1,局部变量和成员变量重命名问题

使用this关键字解决

2,有参数和无参数构造函数的理解

每创建一个类的实例都去初始化它的所有变量是乏味的。如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。因此,java在类里提供了一个特殊的成员函数,叫做构造函数(constructor)。
一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,创建对象时就会自动调用它。构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。
构造方法是一种特殊的方法,具有以下特点。 (1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。 (4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

3,简单的circle实例求圆的面积和周长


```java
package java_demo;
/*1,定义一个CIrcle类
 *2,抽象出类成员变量radius(半径),num(对象的个数),PI(圆周率常量)
 *3,无参数和有参的的构造方法
 *4,成员方法getRadius()返回半径     setRadius()设置半径
 *       calcArea()计算面积    calcGirth()计算周长
 *5,主函数main()
 *   构造对象()含参数
 *   输出    半径   面积    周长     对象数目
 * 
 * 
 * 
 * */
public class Circle {
	private  double radius;//成员变量
	private static int    num;//对象数目   STATic静、态
	public static final double PI=3;
	public  Circle(){
		num++;//无参数的构造方法
	}
	public   Circle(double radius){//有参数的构造方法
		/*有参数构造方法使用的参数变量和类成员变量是否能一样
		 * 首先使用一样的radius,运行输出默认结果0.0
		 * 使用不同变量时候结果正常输出
		 */
		this.radius=radius;//重命名问题局部变量
		num++;
		
	}
	public  static  int getNums(){
		return num;
	}
	public double calcArea(){
		return PI*radius*radius;
	}
	public double calcGirth(){
		return 2*PI*radius;
	}
	public static void main(String[] args){
		
		Circle  C1=new  Circle(8);
		System.out.println(C1.radius);
		System.out.println("圆的面积"+C1.calcArea()+"圆的周长"+C1.calcGirth()+"对象的个数"+C1.num);
		Circle  C2=new  Circle(9);
		System.out.println("圆的面积"+C2.calcArea()+"圆的周长"+C2.calcGirth()+"对象的个数"+C2.num);
	}

}

4,运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值