今天加零分享一下关于类与对象的简单应用
实验要求:
使用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,然后用对象.方法来使用之前定义的方法