• 封装练习题


    1,

    2,

    训练要点:
    属性的封装
    需求说明:
    使用类的封装原则创建学生类;
    成员变量包括ID、姓名、年龄、性别;
    对所有成员变量进行封装。
    实现思路:
    1. 增加private修饰符
    2. 增加getter和setter方法
    3. 对性别进行合法性判断
    package test;
    
    import java.util.Scanner;
    
    public class test0 {
        private int ID;
        private String name;
        private int age;
        private char sex;
        
        public void setter(int a,String b,int c,char d)
        {
            ID=a;
            name=b;
            age=c;
            if(d=='男'||d=='女')
                sex=d;
            
        }
        
        public void getter()
        {
            
            System.out.println("ID是"+ID+"\n名字是"+name+"\n年龄是"+age+"\n性别是"+sex);
        }
    }
    package test;
    import java.util.Scanner;
    public class Test0_test {
        public static void main(String[] args) {
            
            test0 exa=new test0();
            exa.setter(123, "张三", 19, '男');
            exa.getter();
        }
    }

    3,

    1. 案例题目描述:  
    定义一个快递员类,并进行封装
     步骤:
     1.将变量私有化
     2.提供公有访问方法getter和setter
        该类中有以下信息:
     1) 有姓名,员工编号,员工工资几个变量
     2) 定义一个显示自己信息的方法
        3)创建测试类,调用getter(),setter()来赋值和取值。并调用显示信息的方法
    2. 评分标准:
    (1) 将变量私有化 (10分)
    (2) 提供公有访问方法getter和setter(10分)
    (3) 创建测试类(10分)
    (4) 调用方法输出(10分)
    (5) 添加注释(5分)

    package test;
    
    import java.util.Scanner;
    
    public class test0 {
        private String name;
        private int num;
        private double average;
        
        public void setter(String a,int b,double c)
        {
            name=a;
            num=b;
            average=c;
        }
        
        public void getter()
        {
            
            System.out.println("员工名字是"+name+"\n编号是"+num+"\n工资是"+average);
        }
    }
    package test;
    import java.util.Scanner;
    public class Test0_test {
        public static void main(String[] args) {
            
            test0 exa=new test0();
            exa.setter("lisa", 2018, 10000);
            exa.getter();
        }
    }

    4,

    1. 案例题目描述:   按要求完成以下题目
    张老太养了两只猫:一只叫小花,今年3岁白色。另一只叫小白,今年3岁花色。请 编写一个程序,当用户输入小猫的名字时,就显示该猫的名字、年龄、颜色。如果输入的小猫名错误,则显示:张老太没有这只猫。
    2. 实现思路及评分标准:
        
    创建猫类,定义三个变量:姓名 年龄 颜色,变量均私有 (10分)
    给这3个变量提供set和get方法
    定义打印信息的方法   (10分)
    创建测试类
    创建2只猫,用set方式赋值,信息和题意一致  (10分)
    创建键盘录入对象,录入猫的姓名
    判断键盘录入的姓名和这2只猫的姓名是否一致,如果一致就打印这只猫的信息,
          如果不一致提示没有这只猫,请重新输入   (10分)

    package test;
    
    import java.util.Scanner;
    
    public class test0 {
        private String name;
        private int age;
        private String color;
        
        public void setter(String a,int b,String c)
        {
            name=a;
            age=b;
            color=c;
        }
        
        public void getter()
        {
            System.out.println("猫猫名字是"+name+"\n年龄是"+age+"\n颜色是"+color);
        }
    }
    package test;
    import java.util.Scanner;
    public class Test0_test {
        public static void main(String[] args) {
            
            test0 exa1=new test0();
            test0 exa2=new test0();
            exa1.setter("小花", 3, "白色");
            exa2.setter("小白", 3, "花色");
            
            test0[] arr={exa1,exa2};
            System.out.print("您查询的猫猫名字是:");
            String in=new Scanner(System.in).next();
            
            if("小花".equals(in))
            {
                exa1.getter();
            }else if("小白".equals(in))
            {
                exa2.getter();
            }
            else
            {
                System.out.println("老太家里没有这种猫");
            }
            
        }
    }

    5,

    训练要点:
    this关键字的使用
    需求说明:
    优化Student类,修改有参构造方法,调用其它构造方法
    修改计算方法,使用this关键字进行优化
    实现思路:
    1. 修改有参构造方法,使用this调用其它构造方法
    2. 修改计算方法,使用this调用成员变量
    package test;
    
    import java.util.Scanner;
    
    public class test0 {
        private String name;
        private int age;
        private String color;
        public test0()
        {
            this.age=12;
            this.color="黄种人";    
        }
        public test0(String name)
        {
            this();    
            this.name=name;
            
        }
        
        public void getter()
        {
            System.out.println("学生名字是"+name+"\n年龄是"+age+"\n人种是"+color);
        }
    }
    package test;
    import java.util.Scanner;
    public class Test0_test {
        public static void main(String[] args) {
            
            test0 exa=new test0("lisa");
            exa.getter();
        }
    }

    6,

  • 相关阅读:
    面向对象的三个特征:封装(抽象)、继承、多态
    java中流程控制有4种循环,各自的适用场景
    break 和 continue
    基础知识点总结及示例
    Java程序的运行过程,以及Java为什么能够跨平台
    JDK,JRE,JVM的区别与联系?
    jsp(二)
    JSP
    过滤器
    Servlet监听器(二)
  • 原文地址:https://www.cnblogs.com/lumc5/p/15105270.html
Copyright © 2020-2023  润新知