java类与对象之实验三

今天加零分享一下关于类与对象的简单应用

实验要求:

使用Eclipse开发环境,完成以下习题。

1.实现一个班级类MyClass:

属性:年级、专业、班级序号、班级负责人;这些属性都是私有权限。

构造方法1(参数):年级、专业、班级序号

构造方法2(参数):年级、专业、班级序号、班级负责人

方法1:输出班级所有信息;

方法2:获取班级负责人;

方法3:设置班级负责人;

源程序保存为MyClass.java文件。

 

从题目中我们可以看到,它要求我们写两个构造方法,首先我们来看看怎样定义构造方法:

构造方法必须以类名做为方法的名称,且不返回任何值,也就是说:构造方法是以类名为名称的特殊方法。

class Myclas {

	Scanner s = new Scanner(System.in);
	private String n;
	private String major;
	private String clas1;
	private String agent;
	Myclas(String  newn, String newmajor, String newclas1)
	{
		n = newn;
		major = newmajor;
		clas1 = newclas1;
	}
	Myclas(String newn, String newmajor, String newclas1, String newagent)
	{
		n = newn;
		major = newmajor;
		clas1 = newclas1;
		agent = newagent;
	}

在这里我们可以看到有2个Myclass方法,它们没有返回值且方法名也类名相同,这就是构造方法 

它们的作用就是给前面Myclass类里面定义的成员变量赋值,我们可以看到在属性前面都有一个private修饰符,表示这些成员变量只能在声明它们的类中被访问,而不能被其他类甚至子类所访问。

 

接下来我们看到题目要求我们定义3个方法,来分别实现对应的功能,很简单:

注意在get方法中,加零用到了s.next()来输入字符串类型的班级负责人 ,那么前面我就要有定义:

package zuoye;

import java.util.Scanner;

class Myclas
 {

	Scanner s = new Scanner(System.in);
}

注意import java.util.Scanner;的位置是在类的外面!不要写到类里面去了! 

好了,那作业1加零已经完成了,接下来看看作业2。

 

2.TestMyClass作为主类,在主类的main方法里创建两个班级“2018级软件工程5班”和“2018级软件工程6班”,5班负责人“张强”,输出两个班级的所有信息。源程序保存为TestMyClass.java文件。

注:MyClass.java和TestMyClass.java在同一个项目里。

 

这里有一个值得注意的地方:在创建对象的时候,我们要引用的是Myclas里的方法

TestMyClass T = new TestMyClass();

写成这样并不能达到调用Myclas方法的目的,正确的写法应该是: 

Myclas T = new Myclas("2018","软件工程","5","张强");	

 题目要求的在主类的main方法里创建两个班级“2018级软件工程5班”和“2018级软件工程6班”,5班负责人“张强”,

不知道是不是我写的这样(手动滑稽)

public static void main(String[] args) 
	{
		String class1 = "2018级软件工程5班";
		String class2 = "2018级软件工程6班";
		String class1agent = "张强";
		Myclas T = new Myclas("2018","软件工程","5","张强");				//写第二个班级
		T.print1();
		System.out.println("");
		Myclas T1 = new Myclas("2018","软件工程","6","jake");			//写第二个班级
		T1.print1();
	}

3. 创建Circle类:

属性:静态的圆周率(3.14),实例私有属性半径。

构造方法1(参数为空):从键盘输入半径。

方法1:计算圆周长。

方法2:计算圆面积。

创建主类CreateCircle,创建一个半径为2的圆,一个半径为3的圆;利用Circle类方法输出这两个圆的周长和面积。

源程序保存为Circle.java  CreateCircle.java文件.

 

首先,我们看看定义一个静态圆周率和实例私有属性半径

static double PI = 3.14;
private double r;

然后是构造 方法,要求无参。

class Circle
{
	Scanner s = new Scanner(System.in);
	static double PI = 3.14;
	private double r;
	Circle()
	{
		r = s.nextDouble();
	}

注意构造方法的名称跟类名一样,还有Scanner输入的用法 (import java.util.Scanner;  不要漏写!)

接着定义两个方法

void C(double r)
	{
		double c2 = 2*PI*r;
		System.out.println(c2);
	}
	void S(double r)
	{
		double S2 = PI*r*r;
		System.out.println(S2);
	}

最后我们来看看主函数

public static void main(String[] args)
	{
		double y1,y2;
		Circle T = new Circle();
		T.C(2);
		T.S(2);
		T.C(3);
		T.S(3);
	}

先创建对象T,然后用对象.方法来使用之前定义的方法

d在这里,加零不会用构造方法来输入半径长度,如果你会,请告诉加零,加零洗耳恭听!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值