第十周上机作业

1、请按照以下要求设计一个学生类Student,并进行测试。
要求如下:
  1)Student类中包含姓名、成绩两个属性
  2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.
  3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值
  4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值
package tend;

public class Student {

    String name = new String("该学生还未命名"); // 姓名
    double grade; // 成绩

    public Student() { // 无参构造方法
    }

    public Student(String str, double grade) { // 有参构造方法
        this.name = str;
        this.grade = grade;
    }

    public void set(String str, double grade) { // 设值函数
        this.name = str;
        this.grade = grade;
    }

    public void get() { // 获取函数
        System.out.println("该学生姓名为:" + name);
        System.out.println("该学生成绩为:" + grade);
    }
    public static void main(String[] args) {
        Student a=new Student("张三",77.5);
        a.get();
    }
}
2、请编写一个程序,该程序由两个类组成,一个Person类,一个Test类。在Person类中定义一个无参构造方法,里面 输出一句话:“无参的构造方法被调用了...”。并在测试类中进行测试。
package tend;

public class Person {
    Person() {
        System.out.println("无参构造方法被调用了");
    }
}

--------------------------------------------------------------------------------------

package tend;

public class Text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
           Person a=new Person();
    }

}
3、使用java类描述一个车类,车都具备名字、颜色两个属性,还具备跑的功能。 请设计一个汽车类Car,该类中包含 两个属性姓名(name)、颜色(color),一个用于描述汽车跑的run()方法。
package tend;

public class Car {
    String name;
    String color;
    
    public Car(){    //无参构造方法
        
    }
    public Car(String name,String color){
        System.out.println(name+"从A市移动到了B市,车的颜色是"+color);
    }
    public void run(String n,String c){
        this.name=n;
        this.color=c;
        
    }
    public static void main(String[] args) {
        Car a=new Car("宝马","白色");
    }

}
4、编写一个类,类中定义一个静态方法,用于求两个整数的和。 请按照以下要求设计一个测试类Demo,并进行测试。  要求如下: 
  1)Demo类中有一个静态方法get(int a,int b)该方法用户返回参数a、b两个整数的和; 
  2)在main()方法中调用get方法并输出计算结果。
package tend;

public class Try3 {
    public static void main(String[] args) {

        int a = Demo.get(1, 2);
        System.out.println("两个整数和为" + a);
    }
}

class Demo {

    public static int get(int a, int b) {
        return a + b;
    }

}

5、说一下什么是封装,;使用封装的好处;什么是get,set访问器

(1)封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

(2)封装的好处: 1、提高了数据的安全性 别人不能够通过 变量名.属性名 的方式来修改某个私有的成员属性;
                               2、操作简单 封装后,多个调用者在使用的时候,只需调用方法即可,调用者不需要再进行判断;
                 3、隐藏了实现 实现过程对调用者是不可见的,调用者只需调用方法即可,不知道具体实现过程;
(3)set访问器是通该方法,将封装的属性赋值,get访问器,是得到封装属性返回的值。

原文地址:https://www.cnblogs.com/Hackman/p/12842195.html