zoukankan      html  css  js  c++  java
  • 5.7第十周上机练习


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

     1 package text;
     2 
     3 public class Student {
     4     String name=new String("学生还未命名"); //姓名
     5     int score;                        //成绩
     6     public Student(){  //无参构造方法
     7     }
     8   public Student(String nam,int score){  //有参构造方法
     9       this.name=nam;
    10       this.score=score;
    11 }
    12   public void set(String nam,int score){  //设置函数
    13       this.name=nam;
    14       this.score=score;
    15   }
    16   public void get(){                     //获取函数
    17       System.out.println("姓名:"+name);
    18       System.out.println("成绩:"+score);
    19   }
    20 }测试
    21 package text;
    22 
    23 public class Student1 {
    24     public static void main(String[] args) {
    25         // TODO Auto-generated method stub
    26     Student s=new Student();
    27     s.set("张三",79);
    28     s.get();
    29     Student s1=new Student("赵丽",98);
    30     s1.get();
    31     }
    32 }


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

     1 package text;
     2 
     3 public class Person {
     4 
     5     public void speak() {
     6         System.out.println("无参的构造方法被调用");
     7     }
     8 }
     9 测试
    10 package text;
    11 
    12 public class Test {
    13 
    14     public static void main(String[] args) {
    15         // TODO Auto-generated method stub
    16         Person p = new Person();
    17         p.speak();
    18     }
    19 
    20 }


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

     1 package text;
     2 
     3   public class Java {
     4         String name;
     5         String color;
     6     public void run(){
     7     System.out.println("车的名字:"+name+"车的颜色:"+color);
     8       }
     9 }
    10 测试
    11 package text;
    12 
    13 public class Car {
    14 
    15     public static void main(String[] args) {
    16         // TODO Auto-generated method stub
    17         Java j = new Java();
    18           j.name = "奔驰";
    19           j.color = "白色";
    20           j.run();
    21          }
    22 }


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

     1 package text;
     2 
     3 public class Demo {
     4     public static int get(int a, int b) {
     5         int c = a + b;
     6         return c;
     7     }
     8 }
     9 测试
    10 package text;
    11 
    12 public class Person {
    13 
    14     public static void main(String[] args) {
    15         int x = Demo.get(5, 8);
    16         System.out.println("结果为:" + x);
    17     }
    18 }


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

    • 所谓封装是把对象的属性和行为结合在一个独立的系统单

    位内部

    尽可能隐蔽对象的内部细节,只向外部提供接口

     降低对象间的耦合度

    • 使用封装的好处:

    – 使对象能够集中而完整地描述并对应一个具体事物

    – 体现了事物的相对独立性,使对象外部不能随意存取

    对象的内部数据

    -减少耦合

    -可以对成员进行更精确的控制

    -加强程式码的安全性

         set()是给属性赋值的,get()是取得属性值的 被设置和存取的属性一般是私有 主要是起到封装的作用

       只带有 get 访问器的属性称为只读属性。无法对只读属性赋值。 只带有 set 访问器的属性称为只写属性。只写属性除作为赋值的目标外,无法对其进行引用。 同时带有 get 和 set 访问器的属性为读写属性。 在属性声明中,get 和 set 访问器都必须在属性体的内部声明。使用 get 访问器更改对象的状态是一种错误的编程样式

  • 相关阅读:
    .net 实现 URL重写,伪静态
    jquery上传插件AjaxUpload使用示例
    事实上
    C# DataSet和DataTable详解
    当你累了,准备放弃时,看看这个吧!!!
    asp.net页面数据传递总结
    在Global.asax中根据请求路径判断是否可以访问。。。我没思路只好这样了
    今儿改的
    C 语言利用数组实现大数计算
    开始学习 类
  • 原文地址:https://www.cnblogs.com/gwz-1314/p/12842479.html
Copyright © 2011-2022 走看看