/* 定义一个类Demo,其中定义一个求两个数据和的方法, 定义一个测试了Test,进行测试。 变量什么时候定义为成员变量: 如果这个变量是用来描述这个类的信息的,那么,该变量就应该定义为成员变量。 变量到底定义在哪里好呢? 变量的范围是越小越好。因为能及时的被回收。 */ //方式1 /* class Demo { public int sum() { int a = 10; int b = 20; int c = a + b; return c; } } */ //方式1满足了的要求,但是不好。 //因为参与操作的数据现在是固定的。 //方式2 /* class Demo { public int sum(int a,int b) { return a + b; } } */ //方式2可以满足的要求,但是学习过面向对象的思想。 //再想,a,b可不可以定义为成员变量呢?如果可以,再改进一版 class Demo { int a; int b; public int sum() { return a + b; } } // 虽然这种方式可以,并且好像是符合了面向对象的思想。 // 但是不好。 // 因为曾经说过:类是一组相关的属性和行为的集合。 // 并且类是通过事物转换过来的 // 而类中的成员变量就是事物的属性 // 属性是用来描述事物的 // 同理:成员变量其实是用来描述类的。 // 测试类 class Test { public static void main(String[] args) { //创建对象 //方式1测试 /* Demo d = new Demo(); System.out.println(d.sum()); */ //方式2测试 /* Demo d = new Demo(); int a = 10; int b = 20; System.out.println(d.sum(a,b)); */ // 方式3测试 Demo d = new Demo(); d.a = 10; d.b = 20; System.out.println(d.sum()); } }
练习:
/* 定义一个长方形类,定义 求周长和面积的方法, 然后定义一个测试了Test2,进行测试。 长方形的类: 成员变量: 长,宽 成员方法: 求周长:(长+宽)*2; 求面积:长*宽 注意: import必须出现在所有的class前面。 */ import java.util.Scanner; class ChangFangXing { // 长方形的长 private int length; // 长方形的宽 private int width; public ChangFangXing() { } // 仅仅提供setXxx()即可 public void setLength(int length) { this.length = length; } public void setWidth(int width) { this.width = width; } // 求周长 public int getZhouChang() { return (length + width) * 2; } // 求面积 public int getArea() { return length * width; } } class Test2 { public static void main(String[] args) { // 创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请输入长方形的长:"); int length = sc.nextInt(); System.out.println("请输入长方形的宽:"); int width = sc.nextInt(); // 创建对象 ChangFangXing cfx = new ChangFangXing(); // 先给成员变量赋值 cfx.setLength(length); cfx.setWidth(width); System.out.println("周长是:" + cfx.getZhouChang()); System.out.println("面积是:" + cfx.getArea()); sc.close(); } }
/* 需求: 定义一个员工类,自己分析出几个成员, 然后给出成员变量,构造方法,getXxx()/setXxx()方法, 以及一个显示所有成员信息的方法。并测试。 分析: 员工 成员变量: 员工编号,姓名,年龄 构造方法: 无参构造方法 成员方法: getXxx()/setXxx() show(); */ class Employee { // 员工编号 private String employeeId; // 姓名 private String name; // 年龄 private int age; // 构造方法 public Employee() { } // getXxx()/setXxx() public String getEmployeeId() { return employeeId; } public void setEmployeeId(String employeeId) { this.employeeId = employeeId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // 显示所有成员信息的方法 public void show() { System.out.println("员工编号是:" + employeeId + "的这个人是:" + name + "的年龄是:" + age); } } class EmployeeTest { public static void main(String[] args) { // 创建对象 Employee e = new Employee(); // 给成员变量赋值 e.setEmployeeId("czbk9527"); e.setName("唐伯虎"); e.setAge(18); // 获取数据 // System.out.println(e.getEmployeeId()+"---"+e.getName()+"---"+e.getAge()); // 在Employee类中定义了一个show方法。所以改进一下,使用show方法 e.show(); } }
/* 定义一个类MyMath,提供基本的加减乘除功能,然后进行测试。 */ import java.util.Scanner; class MyMath { // 加法功能 public int add(int a, int b) { return a + b; } // 减法功能 public int sub(int a, int b) { return a - b; } // 乘法功能 public int mul(int a, int b) { return a * b; } // 除法功能 public int div(int a, int b) { return a / b; } } // 测试类 class MyMathTest { public static void main(String[] args) { // 创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请输入第一个操作数:"); int firstNumber = sc.nextInt(); System.out.println("请输入第二个操作数:"); int secondNumber = sc.nextInt(); // 创建MyMath对象,并使用 MyMath mm = new MyMath(); System.out.println("加法结果:" + mm.add(firstNumber, secondNumber)); System.out.println("减法结果:" + mm.sub(firstNumber, secondNumber)); System.out.println("乘法结果:" + mm.mul(firstNumber, secondNumber)); System.out.println("除法结果:" + mm.div(firstNumber, secondNumber)); sc.close(); } }
时间: 2024-11-11 03:10:53