1,
2,
训练要点:
属性的封装
属性的封装
需求说明:
使用类的封装原则创建学生类;
成员变量包括ID、姓名、年龄、性别;
对所有成员变量进行封装。
使用类的封装原则创建学生类;
成员变量包括ID、姓名、年龄、性别;
对所有成员变量进行封装。
实现思路:
1. 增加private修饰符
2. 增加getter和setter方法
3. 对性别进行合法性判断
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关键字的使用
this关键字的使用
需求说明:
优化Student类,修改有参构造方法,调用其它构造方法
修改计算方法,使用this关键字进行优化
优化Student类,修改有参构造方法,调用其它构造方法
修改计算方法,使用this关键字进行优化
实现思路:
1. 修改有参构造方法,使用this调用其它构造方法
2. 修改计算方法,使用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,