第十周作业
1、请按照以下要求设计一个学生类Student,并进行测试。
要求如下:
1)Student类中包含姓名、成绩两个属性
2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.
3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值
4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构 造方法,在构造方法中给姓名和成绩赋值
class Student { // 1、请按照以下要求设计一个学生类Student,并进行测试。 // 要求如下: // 1)Student类中包含姓名、成绩两个属性 // 2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值. // 3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值 // 4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构 // 造方法,在构造方法中给姓名和成绩赋值 String name = new String("该学生还未命名"); double achievement; public Student() { } public Student(String str, double achievement) { this.name = str; this.achievement = achievement; } void set(String str, double achievement) { this.name = str; this.achievement = achievement; } void get() { System.out.println("该学生姓名为:" + name); System.out.println("该学生成绩为:" + achievement); } }
public class TestStudent { public static void main(String[] args) { // TODO Auto-generated method stub Student A = new Student(); A.set("xiao zhang", 80); A.get(); Student B = new Student("xiao ming", 90); B.get(); } }
2、请编写一个程序,该程序由两个类组成,一个Person类,一个Test类。在Person类中定义一个无参构造方法,里面 输出一句话:”无参的构造方法被调用了...”。并在测试类中进行测试。
//请编写一个程序,该程序由两个类组成,一个Person类,一个Test类。在Person类中定义一个无参构造方法,里面 输出一句话:”无参的构造方法被调用了...”。 public class Person { public Person() { System.out.println("无参的构造方法被调用了..."); } }
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub // 测试 Person p1 = new Person(); } }
3. 使用java类描述一个车类,车都具备名字、颜色两个属性,还具备跑的功能。 请设计一个汽车类Car,该类中包含 两个属性姓名(name)、颜色(color),一个用于描述汽车跑的run()方法。
//使用java类描述一个车类,车都具备名字、颜色两个属性,还具备跑的功能。 请设计一个汽车类Car,该类中包含 两个属性姓名(name)、颜色(color),一个用于描述汽车跑的run()方法。 public class Car { private String name; private String color; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public void run() { System.out.println(color + name + "" + "具有跑的功能"); } }
public class TestCar { public static void main(String[] args) { // TODO Auto-generated method stub Car c = new Car(); c.setName("柯尼塞格"); c.setColor("pink"); c.getColor(); c.getName(); c.run(); } }
4. 编写一个类,类中定义一个静态方法,用于求两个整数的和。 请按照以下要求设计一个测试类Demo,并进行测试。 要求如下:
1)Demo类中有一个静态方法get(int a,int b)该方法用户返回参数a、b两个整数的和;
2)在main()方法中调用get方法并输出计算结果。
public class Demo { public static void main(String[] args) { // TODO Auto-generated method stub // 编写一个类,类中定义一个静态方法,用于求两个整数的和。 请按照以下要求设计一个测试类Demo,并进行测试。 要求如下: // 1)Demo类中有一个静态方法get(int a,int b)该方法用户返回参数a、b两个整数的和; // 2)在main()方法中调用get方法并输出计算结果。 Demo d1 = new Demo(); int c = d1.get(2, 5); System.out.println(c); } public int get(int a, int b) { return a + b; } }
5.说一下什么是封装, 使用封装的好处。什么是get,set访问器
(1)
封装是把彼此相关数据和操作包围起来,抽象成为-一个对象,变量和函数就有了归属,想要
访问对象的数据只能通过已定义的接口。说封装就是将属性私有化,太过狭隘,因为封装不
仅仅实现了数据的保护,还把彼此相关联的变量和函数包围了起来。
(2)
1.我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段,从而可以让程式
码跟容易维护。
2.将相关联的变量和函数封装成一-个对象,变量描述对象的属性,函数描述对象的行为,这.
符合我们对客观世界的认识。
3.还实现了对属性的数据访问限制,也加强了程式码的安全性。
(3)
set访问器是通该方法,将封装的属性赋值
get访问器,是得到封装属性返回的值