第十周上机作业
1、请按照以下要求设计一个学生类Student,并进行测试。
要求如下:
1)Student类中包含姓名、成绩两个属性
2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.
3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值
4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构 造方法,在构造方法中给姓名和成绩赋值
package here; public class Student { int grade; String name; public Student(){ } public Student(int cj,String mz){ grade=cj; name=mz; } public void shezhi(){ System.out.println("请输入姓名和成绩"); } public void huoqu(){ System.out.println(name+"的成绩是"+grade); } }
package here; public class testt { public static void main(String[] args) { Student a1=new Student(96,"小明"); Student a2=new Student(99,"小红"); a1.shezhi(); a1.huoqu(); a2.shezhi(); a2.huoqu(); } }
2、请编写一个程序,该程序由两个类组成,一个Person类,一个Test类。在Person类中定义一个无参构造方法,里面 输出一句话:”无参的构造方法被调用了...”。并在测试类中进行测试。
package here; public class Person { public Person(){ System.out.println("无参的构造方法被调用了······"); } }
package here; public class testt { public static void main(String[] args) { Person a = new Person(); } }
3. 使用java类描述一个车类,车都具备名字、颜色两个属性,还具备跑的功能。 请设计一个汽车类Car,该类中包含 两个属性姓名(name)、颜色(color),一个用于描述汽车跑的run()方法。
package here; public class Car { String name; String color; public Car(){ } public Car(String mz,String ys){ name=mz; color=ys; } public void run(){ System.out.println(color+"的"+name+"正在行驶中"); } }
package here; public class testt { public static void main(String[] args) { Car c=new Car("宝马","黑色的"); c.run(); } }
4. 编写一个类,类中定义一个静态方法,用于求两个整数的和。 请按照以下要求设计一个测试类Demo,并进行测试。 要求如下:
1)Demo类中有一个静态方法get(int a,int b)该方法用户返回参数a、b两个整数的和;
2)在main()方法中调用get方法并输出计算结果。
package here; public class Demo { public static void main(String[] args) { int sum =getSum(5,2); System.out.println("两个数的和为"+sum); } public static int getSum(int a,int b){ int sum = a + b; return sum; } }
5.说一下什么是封装, 使用封装的好处。什么是get,set访问器
答:封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为相结合,形成一个有机的整体。
封装的好处:重用、不用关心具体的实现、面向对象的三大特征之一、具有安全性。
只带有get器的属性称为只读属性,无法对只读属性进行赋值,只带有set器的属性称为只写属性,无法对其进行引用,同时带有get.set器的属性称为读写属性,且在属性声明中,get,set器必须在属性体的内部声明。