第十次上机作业

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

 1 ackage lxr;
 2 
 3 public class Student {
 4     String name;
 5     int chengji;
 6      public Student() {
 7 
 8         }
 9 
10         public Student(String name, int chengji) {
11             this.name = name;
12             this.chengji = chengji;
13         }
14 
15         void set(String name, int chengji) {
16             this.name = name;
17             this.chengji = chengji;
18         }
19 
20         void get() {
21             System.out.println("姓名为:" + name);
22             System.out.println("成绩为:" + chengji);
23 
24         }
25 
26 }
 1 package lxr;
 2 
 3 public class Text {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         Student n = new Student();
 8         n.set("xxx", 98);
 9         n.get();
10         Student m = new Student("xx", 87);
11         m.get();
12   }
13 }

2、请编写一个程序,该程序由两个类组成,一个Person类,一个Test类。在Person类中定义一个无参构造方法,里面 输出一句话:”无参的构造方法被调用了...”。并在测试类中进行测试。

1 package lxr;
2 public class Person {
3     public Person() {
4         System.out.println("无参的构造方法被调用了...");
5     }
6 }
package lxr;
public class Test {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person n = new Person();
    }

}

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

package lxr;

public class Car {
    String name;
    String color;

    public void run() {
        System.out.println(color + "的" + name + "跑的真快!");
    }

    public static void main(String[] args) {
        Car a = new Car();
        a.name = "布加迪";
        a.color = "黑色";
        a.run();
    }
}

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

package lxr;

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

    public static void main(String[] args) {
        int jg = Demo.get(5, 8);
        System.out.println("两个整数的和是" + jg);
    }
}

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

(1)封装是把彼此相关数据和操作包围起来,抽象成为一个对象,变量和函数就有了归属,想要访问对象的数据只能通过已定义的接口。说封装就是将属性私有化,太过狭隘,因为封装不仅仅实现了数据的保护,还把彼此相关联的变量和函数包围了起来。

封装的好处:

1.我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段,从而可以让程式码跟容易维护。
2.将相关联的变量和函数封装成一个对象,变量描述对象的属性,函数描述对象的行为,这符合我们对客观世界的认识。
3.还实现了对属性的数据访问限制,也加强了程式码的安全性。

get,set访问器:

只带有get器的属性称为只读属性。无法对只读属性赋值。
只带有set器的属性称为只写属性。只写属性除作为赋值的目标外,无法对其进行引用。
同时带有get和set器的属性为读写属性。
在属性声明中,get和set器都必须在属性体的内部声明。

原文地址:https://www.cnblogs.com/919753740yu/p/12842962.html